TWI724483B - 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
TWI724483B
TWI724483B TW108127457A TW108127457A TWI724483B TW I724483 B TWI724483 B TW I724483B TW 108127457 A TW108127457 A TW 108127457A TW 108127457 A TW108127457 A TW 108127457A TW I724483 B TWI724483 B TW I724483B
Authority
TW
Taiwan
Prior art keywords
physical space
volatile memory
space information
value
memory
Prior art date
Application number
TW108127457A
Other languages
Chinese (zh)
Other versions
TW202032375A (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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to CN201910769264.6A priority Critical patent/CN111611178B/en
Priority to US16/573,409 priority patent/US11080203B2/en
Publication of TW202032375A publication Critical patent/TW202032375A/en
Application granted granted Critical
Publication of TWI724483B publication Critical patent/TWI724483B/en

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

High performance data storage device is disclosed, which has a memory controller dynamically maintaining mapping information on a temporary storage memory to relate physical space information to a logical address issued by a host. Using number 1 to number N bits forming the physical space information, the memory controller indicates a physical space within the non-volatile memory or an address within a data cache space provided by the temporary storage memory. In the physical space information, the memory controller does not plan any specific bits to direct to the non-volatile memory or the data cache space. The memory controller uses meaningless values composed by the number 1 to number N bits without corresponding to any physical space of the non-volatile memory to distinguish whether the physical space information directs to the non-volatile memory or the data cache space.

Description

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

本發明係有關於資料儲存裝置,特別有關於映射資訊之維護。The present invention relates to data storage devices, and particularly relates to the maintenance of mapping information.

非揮發式記憶體有多種形式─例如,快閃記憶體(flash memory)、磁阻式隨機存取記憶體(magnetoresistive RAM)、鐵電隨機存取記憶體(ferroelectric RAM)、電阻式隨機存取記憶體(resistive  RAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,用於長時間資料保存。Non-volatile memory has many forms-for example, flash memory, magnetoresistive RAM, ferroelectric RAM, resistive random access Memory (resistive RAM), spin transfer torque random access memory (Spin Transfer Torque-RAM, STT-RAM)... etc. are used for long-term data storage.

非揮發式記憶體有其特殊之儲存特性,其操作以及管理需特殊設計。Non-volatile memory has its special storage characteristics, and its operation and management require special design.

本案提出一種實體空間資訊格式,用於管理一資料儲存裝置的映射資訊。This case proposes a physical space information format for managing the mapping information of a data storage device.

根據本案一種實施方式實現的一資料儲存裝置包括一非揮發式記憶體、一記憶體控制器以及一暫存記憶體。該記憶體控制器根據一主機之要求存取該非揮發式記憶體。該記憶體控制器在該暫存記憶體上規劃一資料快取空間。該記憶體控制器在該暫存記憶體上動態維護映射資訊,顯示該主機辨識之邏輯位址映射的實體空間資訊。該記憶體控制器以該實體空間資訊的第一位元至第N位元(N為大於1的數值)標示該非揮發式記憶體的實體空間、或標示該資料快取空間內的位址。該記憶體控制器不在該實體空間資訊中規劃特定位元區別該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間。該記憶體控制器是以該第一至該第N位元組成的數值中,相對該非揮發式記憶體的實體空間無意義的數值,區別該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間。A data storage device implemented according to an embodiment of the present case includes a non-volatile memory, a memory controller, and a temporary memory. The memory controller accesses the non-volatile memory according to a request of a host. The memory controller plans a data cache space on the temporary memory. The memory controller dynamically maintains mapping information on the temporary memory, and displays the physical space information of the logical address mapping identified by the host. The memory controller uses the first bit to the Nth bit (N is a value greater than 1) of the physical space information to indicate the physical space of the non-volatile memory, or indicate the address in the data cache space. The memory controller does not plan a specific bit in the physical space information to distinguish whether the physical space information points to the non-volatile memory or the data cache space. The memory controller is a value that is meaningless relative to the physical space of the non-volatile memory among the values composed of the first to the Nth bits, and distinguishes whether the physical space information points to the non-volatile memory or the non-volatile memory. Data cache space.

根據本案技術,實體空間資訊的位元被最佳化利用,足以應付大尺寸的非揮發式記憶體。According to the technology in this case, the bits of physical space information are optimally utilized, which is sufficient to cope with large-size non-volatile memory.

一種實施方式中,該記憶體控制器以一遮罩(Mask)處理該實體空間資訊所獲得的數值,辨識該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間。In one embodiment, the memory controller uses a mask to process the value obtained by processing the physical space information to identify whether the physical space information is directed to the non-volatile memory or the data cache space.

該記憶體控制器更可以該遮罩處理該實體空間資訊所獲得的數值,辨識該實體空間資訊是否為虛置數據。The memory controller can also identify the value obtained by processing the physical space information by the mask to identify whether the physical space information is dummy data.

一種實施方式中,該記憶體控制器以一遮罩處理該實體空間資訊,並在獲得一第一數值時判定該實體空間資訊為虛置數據,獲得一第二數值時判定該實體空間資訊是指向該資料快取空間,獲得非該第一數值、也非該第二數值時判定該實體空間資訊指向該非揮發式記憶體。In one embodiment, the memory controller processes the physical space information with a mask, and determines that the physical space information is dummy data when a first value is obtained, and determines that the physical space information is when a second value is obtained Point to the data cache space, and determine that the physical space information points to the non-volatile memory when the first value or the second value is obtained.

該記憶體控制器可以該遮罩對該實體空間資訊進行邏輯及運算。The memory controller can perform logic and calculation on the physical space information with the mask.

一種實施方式中,該非揮發式記憶體為一快閃記憶體。該快閃記憶體的複數個區塊是以一區塊位元數BlkBits區別。各區塊中的複數個單位是以一單位位元數UnitBits區別。該記憶體控制器進行運算: Mask=(((1>> BlkBits)-1)*(1>> UnitBits)), 其中Mask為該遮罩。In one embodiment, the non-volatile memory is a flash memory. The plural blocks of the flash memory are distinguished by a block bit number BlkBits. The plural units in each block are distinguished by one unit bit number UnitBits. The memory controller performs calculations: Mask=(((1>> BlkBits)-1)*(1>> UnitBits)), Where Mask is the mask.

該記憶體控制器更可進行運算: DummySrc = Mask;以及 DRAMSrc = (((1>> BlkBits)-2)*(1>> UnitBits)), 其中,DummySrc為該第一數值,且DRAMSrc為該第二數值。The memory controller can also perform calculations: DummySrc = Mask; and DRAMSrc = (((1>> BlkBits)-2)*(1>> UnitBits)), Wherein, DummySrc is the first value, and DRAMSrc is the second value.

以上記憶體控制器對非揮發式記憶體之操作也可以由其他結構實現。本案更可以前述概念實現非揮發式記憶體的控制方法,包括:根據一主機之要求存取一非揮發式記憶體;在一暫存記憶體上規劃一資料快取空間;在該暫存記憶體上動態維護映射資訊,顯示該主機辨識之邏輯位址映射的實體空間資訊;以該實體空間資訊的第一位元至第N位元標示該非揮發式記憶體的實體空間、或標示該資料快取空間內的位址,且不在該實體空間資訊中規劃特定位元區別該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間;且以該第一至該第N位元組成的數值中,相對該非揮發式記憶體的實體空間無意義的數值,區別該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間。The operation of the above memory controller on the non-volatile memory can also be implemented by other structures. In this case, the aforementioned concept can be used to realize the control method of non-volatile memory, including: accessing a non-volatile memory according to the request of a host; planning a data cache space on a temporary memory; in the temporary memory The mapping information is dynamically maintained on the body, showing the physical space information mapped by the logical address identified by the host; the first bit to the Nth bit of the physical space information is used to indicate the physical space of the non-volatile memory or the data The address in the cache space, and no specific bits are planned in the physical space information to distinguish whether the physical space information points to the non-volatile memory or the data cache space; and use the first to the Nth bits Among the constituent values, a value that is meaningless relative to the physical space of the non-volatile memory, distinguishes that the physical space information points to the non-volatile memory or the data cache space.

下文特舉實施例,並配合所附圖示,詳細說明本發明內容。Hereinafter, embodiments are specially cited, 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 the invention should be defined in accordance with the scope of the patent application.

非揮發式記憶體可以是快閃記憶體(Flash Memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM,STT-RAM)…等,提供長時間資料保存之儲存媒體。以下特別以快閃記憶體為例進行討論。Non-volatile memory can be Flash Memory, Magnetoresistive RAM, 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 store user data from the host. There are many types of data storage devices, including memory cards (Memory Card), universal serial bus flash devices (USB Flash Device), solid state drives (SSD)... and other products. 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 devices, 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)陣列形成數據中心。伺服器即可視為主機(Host),操作所連結之固態硬碟,以存取其中快閃記憶體。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, which operates the connected solid-state drive to access the flash memory.

第2圖為方塊圖,圖解根據本案一種實施方式所實施的資料儲存裝置200,其中包括快閃記憶體202、記憶體控制器204以及暫存記憶體206。主機208係透過記憶體控制器204操作快閃記憶體202。資料儲存裝置200內部也可發動快閃記憶體202之最佳化操作;例如,記憶體控制器204可對快閃記憶體202進行垃圾回收(Garbage Collection)、空間修整(Trimming)、區塊資料搬移(Block Data Transfer)…等。記憶體控制器204進行運算時是以暫存記憶體206暫存資料。暫存記憶體206可為動態隨機存取記憶體(DRAM)或SRAM。FIG. 2 is a block diagram illustrating a data storage device 200 implemented according to an embodiment of the present invention, which includes a flash memory 202, a memory controller 204, and a temporary memory 206. The host 208 operates the flash memory 202 through the memory controller 204. The flash memory 202 can also be optimized inside the data storage device 200; for example, the memory controller 204 can perform garbage collection, space trimming, and block data on the flash memory 202. Block Data Transfer...etc. The memory controller 204 uses the temporary memory 206 to temporarily store data when performing operations. The temporary storage memory 206 may be dynamic random access memory (DRAM) or SRAM.

快閃記憶體202除了具有系統資訊區塊池210儲存邏輯-實體位址映射表(Logical-to-Physical Addresses Mapping Table,L2P映射表)外,更有許多區塊在多種狀態間變化。取自閒置區塊池212的主動區塊214用於接收主機208要求的寫入資料。主動區塊214關閉後(例如,寫入區塊結尾(End Of Block,簡稱EOB)資訊後),將視為資料區塊,屬於資料區塊池216。閒置區塊池212將重新提供主動區塊214。資料區塊經抺除後,可被推入閒置區塊池212。主動區塊214也可以是配置做快閃記憶體202內部資料搬移的目的地。The flash memory 202 has a system information block pool 210 to store a logical-to-physical address mapping table (Logical-to-Physical Addresses Mapping Table, L2P mapping table), and there are many blocks that change between multiple states. The active block 214 from the idle block pool 212 is used to receive the written data requested by the host 208. After the active block 214 is closed (for example, after the end of block (EOB) information is written), it will be regarded as a data block and belong to the data block pool 216. The idle block pool 212 will provide the active block 214 again. After the data block is removed, it can be pushed into the idle block pool 212. The active block 214 can also be configured as a destination for data transfer within the flash memory 202.

快閃記憶體202之物理空間是劃分為複數個區塊(Blocks)配置使用。第1圖圖解一區塊BLK之結構,其中包括複數頁面(Pages),例如,頁面0…頁面255。各頁面包括複數個區段(Sectors),例如:16KB空間的頁面可包括32個區段來儲存使用者資料,每一區段大小為512B。另外,在4KB資料管理模式下,可將8個區段作為最小的資料管理單位,此時,資料管理單位的大小為4KB,可儲存8個區段大小的使用者資料。為了簡化說明,下述中將以4KB資料管理模式為例進行說明,但不以此為限。The physical space of the flash memory 202 is divided into a plurality of blocks (Blocks) for allocation. Figure 1 illustrates the structure of a block BLK, which includes multiple pages (Pages), for example, page 0...page 255. Each page includes a plurality of sectors (Sectors), for example: 16KB space page can include 32 sectors to store user data, each sector size is 512B. In addition, in the 4KB data management mode, 8 sections can be regarded as the smallest data management unit. At this time, the size of the data management unit is 4KB, which can store user data of 8 sections. In order to simplify the description, the following will take the 4KB data management mode as an example for description, but it is not limited to this.

隨著主動區塊214之填寫,記憶體控制器204可在暫存記憶體206上維護實體-邏輯位址映射表(Physical-Logical Addresses Mapping Table,P2L映射表)218,顯示主動區塊214之實體位址究竟儲存那些邏輯位址的使用者資料,或實體位址至邏輯位址的映射資訊。如P2L映射表218所載,主動區塊214用於多個邏輯位址之使用者資料儲存,其反向的映射資訊可以用以更新邏輯-實體位址映射表(Logical-to-Physical Addresses Mapping Table,L2P映射表)的內容。另外,記憶體控制器204可將L2P映射表(局部或完全)上載至暫存記憶體206的空間220,以加速L2P映射表的存取。With the filling of the active block 214, the memory controller 204 can maintain a Physical-Logical Addresses Mapping Table (P2L mapping table) 218 on the temporary memory 206 to display the active block 214 The physical address actually stores the user data of those logical addresses, or the mapping information from the physical address to the logical address. As contained in the P2L mapping table 218, the active block 214 is used to store user data of multiple logical addresses, and its reverse mapping information can be used to update the logical-to-physical address mapping table (Logical-to-Physical Addresses Mapping). Table, L2P mapping table) content. In addition, the memory controller 204 can upload the L2P mapping table (partially or completely) to the space 220 of the temporary memory 206 to speed up the access of the L2P mapping table.

一種實施方式中,記憶體控制器204根據頁面編號,由低至高編號(例如,頁面0至頁面255),而將使用者資料儲存至區塊。一種實施方式中,資料儲存裝置200採用多通道技術,係將不同通道之間的區塊視為一個超級區塊(Super Block),將不同通道之間的頁面視為超級頁面(Super Page),再以超級區塊或超級頁面的作為資料抺除(Erase)或資料寫入的單位,採用此架構下可提升資料儲存裝置200的數據吞吐量。In one embodiment, the memory controller 204 stores the user data in blocks according to the page number, from low to high (for example, page 0 to page 255). In one embodiment, the data storage device 200 adopts multi-channel technology, which regards the blocks between different channels as a super block, and the pages between different channels as super pages. Then, the super block or super page is used as the unit of data erasing or data writing. With this architecture, the data throughput of the data storage device 200 can be improved.

快閃記憶體202有其特殊的儲存特性。舊資料更新並非同空間複寫。新版的資料需被寫入閒置空間,而舊空間內容將被標為無效。區塊可能零星留存有效資料,可以執行垃圾回收程序將有效資料搬移到閒置空間。徒留無效資料的區塊得以被抹除再利用。The flash memory 202 has its special storage characteristics. The old data update is not copied in the same space. The new version of the data needs to be written into the free space, and the old space content will be marked as invalid. Blocks may retain valid data sporadically, and garbage collection procedures can be executed to move valid data to idle space. Blocks with invalid data can be erased and reused.

快閃記憶體202的實體空間是動態地被配置使用。相較於主機(Host)端是以邏輯位址(例如,邏輯區塊位址LBA或全域主機頁編號GHP…等)區別使用者資料,各邏輯位址究竟對應至快閃記憶體哪一個實體位置(位址)則記錄在L2P映射表,其中,實體位址主要可由區塊編號、頁面編號以及資料管理單位編號來表示,資料管理單位編號又可由偏移量(Offset)來表示。在多通道存取(Multi-Channel Accessing)架構下,實體位址更可包括:通道編號、邏輯單位編號(LUN)、平面編號等資訊。The physical space of the flash memory 202 is dynamically allocated and used. Compared with the host side which uses logical addresses (for example, logical block address LBA or global host page number GHP... etc.) to distinguish user data, which entity of the flash memory actually corresponds to each logical address The location (address) is recorded in the L2P mapping table, where the physical address can be mainly represented by the block number, page number, and data management unit number, and the data management unit number can be represented by the offset (Offset). Under the Multi-Channel Accessing architecture, the physical address can also include information such as channel number, logical unit number (LUN), and plane number.

記憶體控制器204在操作快閃記憶體202時都需參考或更新L2P映射表的映射資訊,例如:從快閃記憶體202中讀取使用者資料時需要參考映射資訊,對快閃記憶體202寫入使用者資料則需更新映射資訊。除了因應主機(Host)的讀、寫要求,記憶體控制器204還會主動或被動地對快閃記憶體202執行其他操作,例如:垃圾回收、空間修整、區塊資料搬移…等,以上操作也都涉及L2P映射表的映射資訊之參考或更新。The memory controller 204 needs to refer to or update the mapping information of the L2P mapping table when operating the flash memory 202. For example, when reading user data from the flash memory 202, it needs to refer to the mapping information. 202 Write user data to update the mapping information. In addition to responding to the host's read and write requirements, the memory controller 204 will also actively or passively perform other operations on the flash memory 202, such as garbage collection, space trimming, block data transfer, etc., the above operations It also involves the reference or update of the mapping information of the L2P mapping table.

暫存記憶體206除了用以暫存L2P映射表,也可能有部分空間被規劃作為資料快取(Cache)空間222。當使用者資料被快取在暫存記憶體206的資料快取空間222時,L2P映射表中的實體位址為暫存記憶體206的實體位址,而非快閃記憶體202的實體位址。為了避免暫存記憶體206的實體位址以及快閃記憶體202的實體位址的混淆,記憶體控制器204可以在L2P映射表的實體位址中利用其中一個位元作為旗標,例如,32位元(四位元組)的實體位址規劃如下: l  位元[31]:UNC位元,供非揮發式記憶體高速通訊介面(NVMe)的UNC指令使用。 l  位元[30:29]:資訊模式(Pattern Mode)位元,00/01代表後續位元[28:0]標示快閃記憶體202的實體位址,10代表後續位元[28:0]標示暫存記憶體206的實體位址,11代表後續位元[28:0]為無意義的虛置(Dummy)數據。 l 位元[28:0]:實體位址的數值,其中,位元[28:20]記錄區塊編號,位元[19:00]記錄頁面編號以及額外資訊,例如:偏移量(offset)、通道編號CH#、邏輯單元編號(LUN)、晶片致能信號編號CE#、平面編號等。In addition to temporarily storing the L2P mapping table, the temporary memory 206 may also have part of its space planned as a data cache (Cache) space 222. When user data is cached in the data cache space 222 of the temporary memory 206, the physical address in the L2P mapping table is the physical address of the temporary memory 206, not the physical location of the flash memory 202 site. In order to avoid confusion between the physical address of the temporary memory 206 and the physical address of the flash memory 202, the memory controller 204 can use one of the bits in the physical address of the L2P mapping table as a flag, for example, The 32-bit (four-byte) physical address plan is as follows: l Bit [31]: UNC bit, used by the UNC command of the non-volatile memory high-speed communication interface (NVMe). l Bit [30: 29]: Information mode (Pattern Mode) bit, 00/01 represents the subsequent bit [28:0] indicates the physical address of the flash memory 202, 10 represents the subsequent bit [28:0 ] Indicates the physical address of the temporary memory 206, and 11 represents that the subsequent bits [28:0] are meaningless dummy data. l Bit [28:0]: The value of the physical address, where bit [28:20] records the block number, bit [19:00] records the page number and additional information, such as: offset (offset ), channel number CH#, logical unit number (LUN), chip enable signal number CE#, plane number, etc.

然而,隨著快閃記憶體202製造技術之演進,每個區塊具有更多頁面數量,快閃記憶體202具有更多的資料儲存空間,因此,L2P映射表中的實體位址需要使用更多位元數才能正確地標示使用者資料的儲存位置,原本的實體位址格式已不再適用。However, with the evolution of the manufacturing technology of the flash memory 202, each block has more pages, and the flash memory 202 has more data storage space. Therefore, the physical address in the L2P mapping table needs to be used more. The multi-digit number can correctly indicate the storage location of the user data, and the original physical address format is no longer applicable.

因此,本案提出一種實體位址格式,可應用在L2P映射表,本案中32位元的實體位址規劃如下: l  位元[31]:UNC位元,供非揮發式記憶體高速通訊介面(NVMe)的UNC指令使用; l  位元[30:0]:實體位址的數值,其中,位元[30:22]記錄區塊編號,位元[21:00]記錄頁面編號以及額外資訊。另外,本發明利用不存在的實體位址的數值來作為資訊模式位元。本發明中實體位址由31個位元所表示,而非29個位元,理論上可記錄4倍的實體位址,即4倍的資料儲存空間。Therefore, this case proposes a physical address format that can be applied to the L2P mapping table. The 32-bit physical address plan in this case is as follows: l Bit [31]: UNC bit, used by the UNC command of the non-volatile memory high-speed communication interface (NVMe); l Bit [30:0]: The value of the physical address, where the bit [30:22] records the block number, and the bit [21:00] records the page number and additional information. In addition, the present invention uses the value of the non-existent physical address as the information mode bit. In the present invention, the physical address is represented by 31 bits instead of 29 bits. In theory, 4 times the physical address can be recorded, that is, 4 times the data storage space.

在本案實體位址格式中,資訊模式位元不再獨占任何專屬位元,而是與實體位址共用位元,並利用不存在的數值來表示資訊模式,例如,記錄區塊編號的位元[31:0]中,位元[30:22]記錄區塊編號,因此,其最大值為511。但是,快閃記憶體202的區塊編號的最大值為504,所以,數值505~511為不存在或未使用的數值,因此,資訊模式位元可由不存在或未使用的數值來替代。例如,如果數值為508,則將實體位址判斷成暫存記憶體206的實體位址;如果數值為511,則將實體位址判斷成無意義的虛置數據,其中邏輯運算可利用及、或、位移或遮罩等運算來作為位元[30:22]的數值的判斷。In the physical address format in this case, the information mode bit no longer monopolizes any exclusive bits, but shares bits with the physical address, and uses non-existent values to represent the information mode, for example, the bit that records the block number In [31:0], bit [30:22] records the block number, so the maximum value is 511. However, the maximum value of the block number of the flash memory 202 is 504, so the values 505 to 511 are non-existent or unused values. Therefore, the information mode bits can be replaced by non-existent or unused values. For example, if the value is 508, the physical address is judged as the physical address of the temporary memory 206; if the value is 511, the physical address is judged as meaningless dummy data, where logical operations can be used and, Or, displacement, or mask operations are used to determine the value of bit [30:22].

第3圖為本案判斷實體位址類別方法的流程圖。步驟S302,記憶體控制器204接收來自主機208的主機命令,其中,主機命令包括命令類別以及邏輯位址,命令類別可為資料讀取、資料寫入、空間修整等等。Figure 3 is a flowchart of the method for judging the entity address category in this case. In step S302, the memory controller 204 receives a host command from the host 208, where the host command includes a command type and a logical address. The command type can be data reading, data writing, space trimming, and so on.

步驟S304,記憶體控制器204依據主機命令查詢L2P映射表以獲得實體位址。記憶體控制器204依據主機命令的邏輯位址L2P映射表以獲得實體位址,例如,獲得的實體位址Phy[31:0]是0x1F054321。In step S304, the memory controller 204 queries the L2P mapping table according to the host command to obtain the physical address. The memory controller 204 obtains the physical address according to the logical address L2P mapping table of the host command, for example, the obtained physical address Phy[31:0] is 0x1F054321.

步驟S306,記憶體控制器204對實體位址(甚至,實體位址的特定位元)進行邏輯運算以取得結果值。一種實施方式是對位元[31:0] 進行邏輯運算。一種實施方式中,記憶體控制器204是對實體位址的局部位元[30:24] 進行邏輯運算,結果值為”7D”。In step S306, the memory controller 204 performs a logical operation on the physical address (even the specific bit of the physical address) to obtain the result value. One implementation is to perform logic operations on bits [31:0]. In one embodiment, the memory controller 204 performs a logical operation on the local bits [30:24] of the physical address, and the result value is "7D".

步驟S308,記憶體控制器204依據結果值來判斷實體位址的類別。若為第一數值,記憶體控制器204進行步驟S310,判定實體位址為無意義的虛置數據。若為第二數值,記憶體控制器204進行步驟S312,判定實體位址為暫存記憶體206的實體位址。若非第一、也非第二數值,記憶體控制器204進行步驟S314,判定實體位址為快閃記憶體202的實體位址。In step S308, the memory controller 204 determines the type of the physical address according to the result value. If it is the first value, the memory controller 204 proceeds to step S310 to determine that the physical address is meaningless dummy data. If it is the second value, the memory controller 204 proceeds to step S312 to determine that the physical address is the physical address of the temporary memory 206. If it is neither the first nor the second value, the memory controller 204 proceeds to step S314 to determine that the physical address is the physical address of the flash memory 202.

第4圖為例舉(如表格400所示)本案判斷實體位址類別方法中第一數值與第二數值的設定,其中,第一數值(標號:DummySrc)以及第二數值(標號:DRAMSrc)可由下列方程式計算取得: ValidBlk = (TotalFBlk >> ShiftCnt) (方程式1) Mask=(((1>> BlkBits)-1)*(1>> ShiftCnt)) (方程式2) DummySrc = Mask (方程式3) DRAMSrc = (((1>> BlkBits)-2)*(1>> ShiftCnt))(方程式4)Figure 4 is an example (as shown in Table 400) of the first value and the second value in the method of judging the entity address category in this case, where the first value (label: DummySrc) and the second value (label: DRAMSrc) It can be calculated by the following equation: ValidBlk = (TotalFBlk >> ShiftCnt) (Equation 1) Mask=(((1>> BlkBits)-1)*(1>> ShiftCnt)) (Equation 2) DummySrc = Mask (Equation 3) DRAMSrc = (((1>> BlkBits)-2)*(1>> ShiftCnt)) (Equation 4)

以第4圖第一行為例,一個平面的總區塊數等於504,或16進位總區塊數(標號:TotalFBlk)等於0x1F8,位移量(標號:ShiftCnt,或各區塊中複數個(寫入/儲存)單位區別用的一單位位元數UnitBits)等於21位元,依據方程式1,將TotalFBlk向左位移ShiftCnt之後即可算出最大有效值(標號:ValidBlk)等於0x3F000000,而任一大於ValidBlk的數值可作為DummySrc或DRAMSrc。Taking the first line in Figure 4 as an example, the total number of blocks in a plane is equal to 504, or the total number of hexadecimal blocks (label: TotalFBlk) is equal to 0x1F8, and the amount of displacement (label: ShiftCnt, or a plurality of blocks in each block (write Input/storage) UnitBits) is equal to 21 bits. According to Equation 1, after shifting TotalFBlk to the left by ShiftCnt, the maximum valid value (label: ValidBlk) is equal to 0x3F000000, and any one is greater than ValidBlk The value of can be used as DummySrc or DRAMSrc.

選一個超過ValidBlk的數值作為遮罩(標號:Mask),如方程式2所示,令區塊位元數(標號:BlkBits)等於9以及ShiftCnt等於21,計算可得Mask等於0x3FE00000,Mask可用於本案判斷實體位址類別方法中步驟S306之運算。Choose a value that exceeds ValidBlk as the mask (label: Mask), as shown in Equation 2, set the number of block bits (label: BlkBits) equal to 9 and ShiftCnt equal to 21, and the calculation can get Mask equal to 0x3FE00000, and Mask can be used in this case The operation of step S306 in the method of judging the entity address type.

如方程式3所示,採用Mask作為DummySrc,即Mask等於DummySrc也等於0x3FE00000。之後,再依方程式4的運算可得知DRAMSrc等於0x3FC00000,DummySrc以及DRAMSrc則可用於本案判斷實體位址類別方法中步驟S308之數值辨識。As shown in Equation 3, Mask is used as DummySrc, that is, Mask is equal to DummySrc and also equal to 0x3FE00000. After that, according to the calculation of Equation 4, it can be known that DRAMSrc is equal to 0x3FC00000, and DummySrc and DRAMSrc can be used for the numerical identification of step S308 in the method of judging the physical address type in this case.

以第4圖第二行為例,一個平面的總區塊數等於236,或TotalFBlk等於0xEC,ShiftCnt等於21位元,依據方程式1,將TotalFBlk向左位移ShiftCnt之後即可算出ValidBlk等於0x3B000000,此時,令DummySrc等於0x3FC00000或DRAMSrc等於0x3F800000。Taking the second line in Figure 4 as an example, the total number of blocks in a plane is equal to 236, or TotalFBlk is equal to 0xEC, and ShiftCnt is equal to 21 bits. According to Equation 1, after shifting TotalFBlk to the left by ShiftCnt, ValidBlk is equal to 0x3B000000. , Let DummySrc be equal to 0x3FC00000 or DRAMSrc be equal to 0x3F800000.

以第4圖第三行為例,一個平面的總區塊數等於1008,或TotalFBlk等於0x3D0,ShiftCnt等於21位元,依據方程式1,將TotalFBlk向左位移ShiftCnt之後即可算出ValidBlk等於0x7E000000,此時,令DummySrc等於7FE00000或DRAMSrc等於0x7FC00000。Taking the third line in Figure 4 as an example, the total number of blocks in a plane is equal to 1008, or TotalFBlk is equal to 0x3D0, and ShiftCnt is equal to 21 bits. According to Equation 1, after shifting TotalFBlk to the left by ShiftCnt, it can be calculated that ValidBlk is equal to 0x7E000000. , Let DummySrc be equal to 7FE00000 or DRAMSrc be equal to 0x7FC00000.

以上記憶體控制器204對快閃記憶體202之操作設計也可以由其他結構實現。凡是利用(方程式1)實體空間標示最大有效值ValidBlk以上閒置數值來區別資訊模式(Pattern Mode),都屬於本案欲保護範圍。本案更可以前述概念實現非揮發式記憶體的控制方法。The above operation design of the memory controller 204 on the flash memory 202 can also be implemented by other structures. Any use of (Equation 1) physical space to indicate the maximum effective value of ValidBlk or more idle values to distinguish the information mode (Pattern Mode) falls within the scope of this case. In this case, the aforementioned concept can be used to realize the control method of non-volatile memory.

雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed in preferred embodiments as above, 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:實體-邏輯位址映射表 220:空間,用於載入邏輯-實體位址映射表 222:資料快取空間 400:表格 BLK:區塊 S302…S314:步驟200: Data storage device 202: flash memory 204: Memory Controller 206: Temporary memory 208: Host 210: System Information Block Pool 212: Idle Block Pool 214: active block 216: data block pool 218: Physical-Logical Address Mapping Table 220: Space, used to load the logical-physical address mapping table 222: data cache space 400: form BLK: block S302...S314: Step

第1圖圖解一區塊BLK之結構; 第2圖為方塊圖,圖解根據本案一種實施方式所實施的資料儲存裝置200; 第3圖為本案判斷實體位址類別方法的流程圖; 第4圖為例舉本案判斷實體位址類別方法中第一數值與第二數值的設定。Figure 1 illustrates the structure of a block BLK; Figure 2 is a block diagram illustrating the data storage device 200 implemented according to an embodiment of the present case; Figure 3 is a flowchart of the method for judging the entity address category in this case; Figure 4 illustrates the setting of the first value and the second value in the method of judging the entity address category in this case.

200:資料儲存裝置 200: Data storage device

202:快閃記憶體 202: flash memory

204:記憶體控制器 204: Memory Controller

206:暫存記憶體 206: Temporary memory

208:主機 208: Host

210:系統資訊區塊池 210: System Information Block Pool

212:閒置區塊池 212: Idle Block Pool

214:主動區塊 214: active block

216:資料區塊池 216: data block pool

218:實體-邏輯位址映射表 218: Physical-Logical Address Mapping Table

220:空間,用於載入邏輯-實體位址映射表 220: Space, used to load the logical-physical address mapping table

222:資料快取空間 222: data cache space

Claims (12)

一種資料儲存裝置,包括:一非揮發式記憶體;以及一記憶體控制器、與一暫存記憶體,其中:該記憶體控制器根據一主機之要求存取該非揮發式記憶體;該記憶體控制器在該暫存記憶體上規劃一資料快取空間;該記憶體控制器在該暫存記憶體上動態維護映射資訊,顯示該主機辨識之邏輯位址映射的實體空間資訊;該記憶體控制器以該實體空間資訊的第一位元至第N位元標示該非揮發式記憶體的實體空間、或標示該暫存快取空間內的位址,N為大於1的數值;且該記憶體控制器不在該實體空間資訊中規劃特定位元區別該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間,是以該第一位元至該第N位元組成的數值中不對應該非揮發式記憶體的實體空間的數值,區別該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間;且該記憶體控制器以一遮罩處理該實體空間資訊所獲得的數值,辨識該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間。 A data storage device includes: a non-volatile memory; and a memory controller, and a temporary memory, wherein: the memory controller accesses the non-volatile memory according to a request from a host; the memory The volume controller plans a data cache space on the temporary memory; the memory controller dynamically maintains mapping information on the temporary memory, and displays the physical space information of the logical address mapping identified by the host; the memory The volume controller uses the first bit to the Nth bit of the physical space information to indicate the physical space of the non-volatile memory or the address in the temporary cache space, where N is a value greater than 1; and The memory controller does not plan a specific bit in the physical space information to distinguish whether the physical space information points to the non-volatile memory or the data cache space, which is a value composed of the first bit to the Nth bit The value in the physical space of the non-volatile memory does not correspond to the value of the physical space, distinguishing that the physical space information points to the non-volatile memory or the data cache space; and the memory controller processes the physical space information with a mask. The obtained value identifies whether the physical space information points to the non-volatile memory or the data cache space. 如申請專利範圍第1項所述之資料儲存裝置,其中:該記憶體控制器更以該遮罩處理該實體空間資訊所獲得的數值,辨識該實體空間資訊是否為虛置數據。 According to the data storage device described in item 1 of the patent application, the memory controller further uses the mask to process the value obtained by processing the physical space information to identify whether the physical space information is dummy data. 如申請專利範圍第2項所述之資料儲存裝置,其中: 該記憶體控制器以該遮罩處理該實體空間資訊而獲得一第一數值時,判定該實體空間資訊為虛置數據,以該遮罩處理該實體空間資訊而獲得一第二數值時,判定該實體空間資訊是指向該資料快取空間,以該遮罩處理該實體空間資訊而獲得非該第一數值、也非該第二數值時,判定該實體空間資訊指向該非揮發式記憶體。 Such as the data storage device described in item 2 of the scope of patent application, in which: When the memory controller processes the physical space information with the mask to obtain a first value, it determines that the physical space information is dummy data, and when the physical space information is processed with the mask to obtain a second value, it is determined The physical space information points to the data cache space, and when the physical space information is processed with the mask to obtain neither the first value nor the second value, it is determined that the physical space information points to the non-volatile memory. 如申請專利範圍第3項所述之資料儲存裝置,其中:該記憶體控制器是以該遮罩對該實體空間資訊進行邏輯及運算。 For example, the data storage device described in item 3 of the scope of patent application, wherein: the memory controller uses the mask to perform logic and operations on the physical space information. 如申請專利範圍第4項所述之資料儲存裝置,其中:該非揮發式記憶體為一快閃記憶體;該快閃記憶體的複數個區塊是以一區塊位元數BlkBits區別;各區塊中的複數個單位是以一單位位元數UnitBits區別;且該記憶體控制器進行運算:Mask=(((1<<BlkBits)-1)*(1<<UnitBits)),其中Mask為該遮罩。 For the data storage device described in item 4 of the scope of patent application, wherein: the non-volatile memory is a flash memory; the blocks of the flash memory are distinguished by a block bit number BlkBits; each The plural units in the block are distinguished by the number of unit bits UnitBits; and the memory controller performs operations: Mask=(((1<<BlkBits)-1)*(1<<UnitBits)), where Mask For the mask. 如申請專利範圍第5項所述之資料儲存裝置,其中該記憶體控制器更進行運算:DummySrc=Mask;以及DRAMSrc=(((1<<BlkBits)-2)*(1<<UnitBits)),其中,DummySrc為該第一數值,且DRAMSrc為該第二數值。 For the data storage device described in item 5 of the scope of patent application, the memory controller further performs operations: DummySrc=Mask; and DRAMSrc=(((1<<BlkBits)-2)*(1<<UnitBits)) , Where DummySrc is the first value, and DRAMSrc is the second value. 一種非揮發式記憶體控制方法,包括:根據一主機之要求存取一非揮發式記憶體; 在一暫存記憶體上規劃一資料快取空間;在該暫存記憶體上動態維護映射資訊,顯示該主機辨識之邏輯位址映射的實體空間資訊;以該實體空間資訊的第一位元至第N位元標示該非揮發式記憶體的實體空間、或標示該資料快取空間內的位址,N為大於1的數值,其中,不在該實體空間資訊中規劃特定位元區別該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間,而是以該第一位元至該第N位元組成的數值中,不對應該非揮發式記憶體的實體空間的數值,區別該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間;且以一遮罩處理該實體空間資訊所獲得的數值辨識該實體空間資訊是指向該非揮發式記憶體、或該資料快取空間。 A non-volatile memory control method includes: accessing a non-volatile memory according to a request of a host; Plan a data cache space on a temporary memory; dynamically maintain mapping information on the temporary memory to display the physical space information mapped by the logical address identified by the host; use the first bit of the physical space information The Nth bit indicates the physical space of the non-volatile memory, or indicates the address in the data cache space, and N is a value greater than 1, where no specific bit is planned in the physical space information to distinguish the physical space The information refers to the non-volatile memory or the data cache space, but the value composed of the first bit to the Nth bit, which does not correspond to the value of the physical space of the non-volatile memory, distinguishes the The physical space information points to the non-volatile memory or the data cache space; and the value obtained by processing the physical space information with a mask identifies that the physical space information points to the non-volatile memory or the data cache space. 如申請專利範圍第7項所述之非揮發式記憶體控制方法,更包括:以該遮罩處理該實體空間資訊所獲得的數值,辨識該實體空間資訊是否為虛置數據。 For example, the non-volatile memory control method described in item 7 of the scope of patent application further includes: using the mask to process the value obtained by processing the physical space information to identify whether the physical space information is dummy data. 如申請專利範圍第8項所述之非揮發式記憶體控制方法,更包括:以該遮罩處理該實體空間資訊而獲得一第一數值時,判定該實體空間資訊為虛置數據,以該遮罩處理該實體空間資訊而獲得一第二數值時,判定該實體空間資訊是指向該資料快取空間,以該遮罩處理該實體空間資訊而獲得非該第一數值、也非該第二數值時,判定該實體空間資訊指向該非揮發式記憶體。 For example, the non-volatile memory control method described in item 8 of the scope of patent application further includes: when the physical space information is processed with the mask to obtain a first value, the physical space information is determined to be dummy data, and the When the mask processes the physical space information to obtain a second value, it is determined that the physical space information points to the data cache space, and the physical space information is processed with the mask to obtain neither the first value nor the second value. When numerical, it is determined that the physical space information points to the non-volatile memory. 如申請專利範圍第9項所述之非揮發式記憶體控制方法,更包括:以該遮罩對該實體空間資訊進行邏輯及運算。 For example, the non-volatile memory control method described in item 9 of the scope of patent application further includes: using the mask to perform logic and operations on the physical space information. 如申請專利範圍第10項所述之非揮發式記憶體控制方法,其中:該非揮發式記憶體為一快閃記憶體;該快閃記憶體的複數個區塊是以一區塊位元數BlkBits區別;各區塊中的複數個單位是以一單位位元數UnitBits區別;且所述方法更進行運算Mask=(((1<<BlkBits)-1)*(1<<UnitBits)),其中Mask為該遮罩。 The non-volatile memory control method described in item 10 of the scope of patent application, wherein: the non-volatile memory is a flash memory; the plurality of blocks of the flash memory is a block bit number The difference between BlkBits; the plural units in each block are distinguished by the number of unit bits UnitBits; and the method further performs the operation Mask=(((1<<BlkBits)-1)*(1<<UnitBits)), Where Mask is the mask. 如申請專利範圍第11項所述之非揮發式記憶體控制方法,更進行運算:DummySrc=Mask;以及DRAMSrc=(((1<<BlkBits)-2)*(1<<UnitBits)),其中,DummySrc為該第一數值,且DRAMSrc為該第二數值。For example, the non-volatile memory control method described in item 11 of the scope of patent application is further calculated: DummySrc=Mask; and DRAMSrc=(((1<<BlkBits)-2)*(1<<UnitBits)), where , DummySrc is the first value, and DRAMSrc is the second value.
TW108127457A 2019-02-26 2019-08-02 Data storage device and control method for non-volatile memory TWI724483B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910769264.6A CN111611178B (en) 2019-02-26 2019-08-20 Data storage device and non-volatile memory control method
US16/573,409 US11080203B2 (en) 2019-02-26 2019-09-17 Data storage device and control method for non-volatile memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962810422P 2019-02-26 2019-02-26
US62/810,422 2019-02-26

Publications (2)

Publication Number Publication Date
TW202032375A TW202032375A (en) 2020-09-01
TWI724483B true TWI724483B (en) 2021-04-11

Family

ID=73643478

Family Applications (4)

Application Number Title Priority Date Filing Date
TW108125218A TWI706250B (en) 2019-02-26 2019-07-17 Data storage device and control method for non-volatile memory
TW108127457A TWI724483B (en) 2019-02-26 2019-08-02 Data storage device and control method for non-volatile memory
TW108128179A TWI726381B (en) 2019-02-26 2019-08-08 Data storage device and control method for non-volatile memory
TW108128515A TWI713032B (en) 2019-02-26 2019-08-12 Data storage device and control method for non-volatile memory

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW108125218A TWI706250B (en) 2019-02-26 2019-07-17 Data storage device and control method for non-volatile memory

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW108128179A TWI726381B (en) 2019-02-26 2019-08-08 Data storage device and control method for non-volatile memory
TW108128515A TWI713032B (en) 2019-02-26 2019-08-12 Data storage device and control method for non-volatile memory

Country Status (1)

Country Link
TW (4) TWI706250B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220222008A1 (en) * 2021-01-14 2022-07-14 Silicon Motion, Inc. Method for managing flash memory module and associated flash memory controller and memory device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201104427A (en) * 2009-06-11 2011-02-01 Freescale Semiconductor Inc Processor and method for dynamic and selective alteration of address translation
TW201106158A (en) * 2009-03-03 2011-02-16 Qualcomm Inc Configurable cache and method to configure same
US20170091115A1 (en) * 2015-09-25 2017-03-30 Beijing Lenovo Software Ltd. Method and electronic device for a mapping table in a solid-state memory
US20180081802A1 (en) * 2016-09-16 2018-03-22 Aspiring Sky Co., Limited Hybrid non-volatile memory structures and methods thereof

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112574B2 (en) * 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
JP4420351B2 (en) * 2005-09-30 2010-02-24 富士通株式会社 Hierarchical storage system, control method and program
TWI521343B (en) * 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device
US9690695B2 (en) * 2012-09-20 2017-06-27 Silicon Motion, Inc. Data storage device and flash memory control method thereof
US9256384B2 (en) * 2013-02-04 2016-02-09 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for reducing write latency in a data storage system by using a command-push model
US9383927B2 (en) * 2014-05-28 2016-07-05 SandDisk Technologies LLC Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device
KR20160118836A (en) * 2015-04-03 2016-10-12 에스케이하이닉스 주식회사 Memory controller including host command queue and method of operating thereof
TWI537728B (en) * 2015-09-23 2016-06-11 群聯電子股份有限公司 Buffer memory management method, memory control circuit unit and memory storage device
TWI587214B (en) * 2016-04-21 2017-06-11 慧榮科技股份有限公司 Data storage device, control unit and task ordering method thereof
KR102615593B1 (en) * 2016-05-04 2023-12-21 에스케이하이닉스 주식회사 Memory system and operating method of memory system
TWI659307B (en) * 2017-01-06 2019-05-11 慧榮科技股份有限公司 Data storage device and flash memory control method
TWI653533B (en) * 2017-03-07 2019-03-11 慧榮科技股份有限公司 Data storage device and method of operation thereof
KR20180135188A (en) * 2017-06-12 2018-12-20 에스케이하이닉스 주식회사 Memory system and operating method of memory system
TWI660346B (en) * 2018-09-07 2019-05-21 大陸商深圳大心電子科技有限公司 Memory management method and storage controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201106158A (en) * 2009-03-03 2011-02-16 Qualcomm Inc Configurable cache and method to configure same
TW201104427A (en) * 2009-06-11 2011-02-01 Freescale Semiconductor Inc Processor and method for dynamic and selective alteration of address translation
US20170091115A1 (en) * 2015-09-25 2017-03-30 Beijing Lenovo Software Ltd. Method and electronic device for a mapping table in a solid-state memory
US20180081802A1 (en) * 2016-09-16 2018-03-22 Aspiring Sky Co., Limited Hybrid non-volatile memory structures and methods thereof

Also Published As

Publication number Publication date
TWI706250B (en) 2020-10-01
TW202032377A (en) 2020-09-01
TW202032375A (en) 2020-09-01
TW202032374A (en) 2020-09-01
TWI713032B (en) 2020-12-11
TW202032563A (en) 2020-09-01
TWI726381B (en) 2021-05-01

Similar Documents

Publication Publication Date Title
US10657047B2 (en) Data storage device and method of performing partial garbage collection
CN108804023B (en) Data storage device and operation method thereof
US10296224B2 (en) Apparatus, system and method for increasing the capacity of a storage device available to store user data
JP5694895B2 (en) Method for correlating with improved flash memory compatible electronic devices
US11232041B2 (en) Memory addressing
TWI691839B (en) Method for data management
CN109726138B (en) Data storage device and non-volatile memory operation method
CN110955384B (en) Data storage device and non-volatile memory control method
KR102652694B1 (en) Zoned namespace limitation mitigation using sub block mode
US20090198875A1 (en) Data writing method for flash memory, and controller and system using the same
CN107797934B (en) Method for processing de-allocation command and storage device
JP2008009527A (en) Memory system
WO2017213908A1 (en) Method and apparatus for improving performance of sequential logging in a storage device
TWI718709B (en) Data storage device and non-volatile memory control method
CN112100087B (en) Data storage device and non-volatile memory control method
TWI724483B (en) Data storage device and control method for non-volatile memory
CN110968527B (en) FTL provided caching
CN112130750A (en) Data storage device and non-volatile memory control method
WO2018041258A1 (en) Method for processing de-allocation command, and storage device
TWI766194B (en) Data storage device and non-volatile memory control method
CN111611178B (en) Data storage device and non-volatile memory control method
TW202127258A (en) Data storage device with hierarchical mapping information management and non-volatile memory control method
TWI705328B (en) Data storage device and control method for non-volatile memory
JP2005092678A (en) Semiconductor memory card and method for deleting data in nonvolatile memory
TWI724550B (en) Data storage device and non-volatile memory control method