CN108073524A - 可应用于数据储存装置的存储器管理方法 - Google Patents
可应用于数据储存装置的存储器管理方法 Download PDFInfo
- Publication number
- CN108073524A CN108073524A CN201711120617.7A CN201711120617A CN108073524A CN 108073524 A CN108073524 A CN 108073524A CN 201711120617 A CN201711120617 A CN 201711120617A CN 108073524 A CN108073524 A CN 108073524A
- Authority
- CN
- China
- Prior art keywords
- comparisons
- sub
- storage space
- space
- management method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 24
- 238000013500 data storage Methods 0.000 title abstract description 4
- 230000003068 static effect Effects 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 3
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- 239000011469 building brick Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005138 cryopreservation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/225—Hybrid cache memory, e.g. having both volatile and non-volatile portions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/70—Details relating to dynamic memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种可应用于数据储存装置的存储器管理方法,此方法包括下列步骤:向主机请求存储器空间;记录主机所预留的存储器空间;将对照表分割成复数个子对照表;判断预留的存储器空间的容量是否足够储存所有子对照表;以及当判断为是时,透过接口逻辑而上传复数个子对照表至预留的存储器空间。
Description
技术领域
本发明涉及一种数据储存的相关技术,尤其是一种可应用于数据储存装置的存储器管理方法。
背景技术
一般而言,数据储存装置包括控制单元、闪存(flash memory)与动态随机存取存储器(dynamic random access memory,DRAM)等许多电子组件,而此类数据储存装置已被广泛地运用在各种需数据储存的场合中。设置有DRAM的数据储存装置具有较高的效能,然而,也具有较高的硬件成本。而为降低成本,现已有些数据储存装置的制造商已无设置DRAM,而仅以控制单元中内建静态随机存取存储器(static random access memory,SRAM)作为数据缓冲器。
然而,由于内建于控制单元的静态随机存取存储器的容量都很小,导致这类数据储存装置的效能不佳。因此,如何解决这个问题便是一个很重要的课题。
发明内容
本发明的一目的在提供一种可应用于数据储存装置的存储器管理方法,其可提高未采用动态随机存取存储器的数据储存装置的效能。
本发明提出一种可应用于数据储存装置的存储器管理方法,此方法包括下列步骤:向主机请求存储器空间;记录主机所预留的存储器空间;将对照表分割成复数个子对照表;判断预留的存储器空间的容量是否足够储存所有子对照表;以及当判断为是时,透过接口逻辑而依序上传复数个子对照表至预留的存储器空间。
由于本发明乃是自主机取得存储器空间,并将此存储器空间当作数据储存装置的存储器缓冲器,同时又透过特定方式来使存储器空间保持其所储存的子对照表具有相对高的读取次数,因此本发明可提高未采用动态随机存取存储器的数据储存装置的效能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举优选实施例,并配合附图,详细说明如下。
附图说明
图1绘有依照本发明一实施例的数据储存装置及其与主机的电性耦接关系。
图2为依照本发明一实施例的可应用于数据储存装置的存储器管理方法的流程图。
图3为易失性储存媒体130上预留存储器空间500的示意图。
图4为控制单元210记录预留存储器空间500的表格。
图5绘示将预留存储器空间500分成动态存储器空间510与静态存储器空间520。
图6为依照本发明一实施例的找查表。
具体实施方式
图1绘有依照本发明一实施例的数据储存装置及其与主机的电性耦接关系。请参照图1,主机100主要包括有中央处理单元110、连接接口120与易失性储存媒体130,其中易失性储存媒体130例如是以动态随机存取存储器来实现。连接接口120适于电性耦接数据储存装置200。中央处理单元110电性耦接连接接口120与易失性储存媒体130,并用以透过连接接口120传送命令、数据给数据储存装置200,例如是传送读取命令给数据储存装置200,或是传送写入命令及欲写入数据储存装置200的数据给数据储存装置200。而在此例中,主机100包括以计算机、手机、平板、相机或是其他具运算功能的手持式电子装置来实现。
数据储存装置200主要包括控制单元210与非易失性储存媒体220。控制单元210系电性耦接非易失性储存媒体220,并用以控制非易失性储存媒体220的操作(例如进行数据的存取与抹除)。在此例中,非易失性储存媒体220例如是以闪存(flash memory)、磁阻式随机存取存储器(magnetoresistive RAM)、铁电随机存取存储器(ferroelectric RAM)、电阻式存储器(resistive RAM,RRAM)等具有长时间数据保存的存储器装置来实现。控制单元210主要包括接口逻辑212、微处理器214、控制逻辑216与易失性储存媒体218,其中易失性储存媒体218例如是以静态随机存取存储器来实现。微处理器214电性耦接接口逻辑212与控制逻辑214,并用以透过控制逻辑216存取非易失性储存媒体220与易失性储存媒体218中的数据,且微处理器216还用以透过接口逻辑212接收来自主机100的命令或数据,例如:写入命令、欲写入数据储存装置200的数据、读取命令、抺除命令等。
图2即为依照本发明一实施例的可应用于数据储存装置的存储器管理方法的流程图。步骤S202:向主机请求私人存储器空间。在数据储存装置200初次电性耦接至主机100之后,数据储存装置200的控制单元210便会与主机100的中央处理单元110、基本输入输出系统(basic input/output system,BIOS)或是统一可扩展韧件接口(unified extensiblefirmware interface,UEFI)进行沟通,并要求中央处理单元110或UEFI在易失性储存媒体130中预留(reserve)指定大小的私人存储器空间给予控制单元210使用,例如:64MB大小的存储器空间。在另一实施例中,控制单元210仅对中央处理单元110、BIOS或UEFI提出预留一个私人存储器空间给予控制单元210使用,并未指定私人存储器空间的大小。
步骤S204:记录主机所回应的预留存储器空间。主机100的中央处理单元110、BIOS或UEFI可能拒绝控制单元210的请求,也可能同意控制单元210的请求并给予一个预留存储器空间(例如:64MB),此预留存储器空间的大小等于步骤S202所请求的私人存储器空间的大小,然而,中央处理单元110、BIOS或UEFI也可能同意控制单元210的请求但是所给予的预留存储器空间(例如:48MB)的大小小于步骤S202所请求的私人存储器空间的大小。当预留存储器空间给予后,控制单元210便可自行利用此存储器空间,例如,可将此预留存储器空间作为控制单元210的数据缓冲器或存储器。预留存储器空间较佳用一组或数组实体地址(physicaladdress)起点以及终点来表示,例如:0x100,0000以及0x17F,FFFF,预留存储器空间500共计有8MB(byte),其中,0x表示16进位(hexadecimal)数值。预留存储器空间500亦可以实体地址起点加上存储器容量来显示,例如:0x100,0000以及8MB。图3为易失性储存媒体130上预留存储器空间500的示意图,斜线所示的5个区域即为易失性储存媒体130上的预留存储器空间500,每一区域由一组实体地址起点以及终点来表示。由于预留存储器空间乃由中央处理单元110或UEFI所决定,因此,预留存储器空间500可能是易失性储存媒体130上的一个实体地址连续的区域,亦可能是分散而实体地址不连续的数个区域。
图4为控制单元210记录预留存储器空间500的表格,即记录图3所示的预留存储器空间500。第1区域的存储器地址起点为0x100,0000,存储器地址终点为0x17F,FFFF,存储器容量8MB,依此类推,第2-5区域的存储器容量分别为8MB以及16MB,因此,预留存储器空间500为5个区域的存储器容量的加总,总存储器容量为64MB。
步骤S206:将对照表分割成复数个子对照表。控制单元210会产生及维护逻辑地址至实体地址对照表(host logical address to flash physical address mappingtable,H2F对照表,以下简称对照表)以管理非易失性储存媒体220上所储存的数据。基本上对照表的大小与非易失性储存媒体220的数据容量有关,例如:对照表的大小为非易失性储存媒体220的数据容量的1/1000,非易失性储存媒体220的数据容量如果是128GB,则对照表的大小为128MB。控制单元210可将对照表分割(逻辑分割)成默认数量个子对照表,例如20个子对照表,即子对照表#0~19;或者,控制单元210较佳乃将对照表以预设大小进行分割,例如预设大小较佳等于64KB。
步骤S208:判断预留存储器空间500的容量是否足够储存所有子对照表,如果是则执行步骤S210,如果否则执行步骤S212。假设非易失性储存媒体220的数据容量为64GB,由于预留存储器空间500为64MB,因此,预留存储器空间500的容量刚好足够储存所有子对照表。相反地,假设非易失性储存媒体220的数据容量为128GB而预留存储器空间500为64MB,此时预留存储器空间500的容量将不足以储存128MB的所有子对照表。
步骤S210:透过接口逻辑而依序上传复数个子对照表至预留存储器空间,其中,接口逻辑符合PCI Express、SATA、USB、MIPI M-PHY、或MIPID-PHY等通信标准。接口逻辑212与连接接口120皆符合PCI Express、SATA、USB、MIPI M-PHY、或MIPI D-PHY等通信标准,因此,控制单元210藉由接口逻辑212以及连接接口120而与中央处理单元110进行数据及指令的传送及接收,例如将资料封包传送至中央处理单元110,再由中央处理单元110将复数个子对照表从数据封包中取出,最后依序将复数个子对照表储存于指定的易失性储存媒体130的实体地址中。另外,为了降低中央处理单元110的负荷以及增加数据传送的速度,控制单元210可以向中央处理单元110内建的直接存储器访问(direct memory access,DMA)控制器进行沟通,如此一来,控制单元210可以透过接口逻辑212以及连接接口120而与中央处理单元110的DMA控制器进行通信以上传复数个子对照表至预留存储器空间500。
步骤S212:将预留存储器空间划分成动态存储器空间以及静态存储器空间,其中,动态存储器空间的大小较佳小于等于静态存储器空间的大小;或静态存储器空间的大小为默认值,例如40MB;或动态存储器空间以及静态存储器空间的大小为固定比例,例如1:1;或者,动态存储器空间以及静态存储器空间的大小可依效能参数而调整。在完成步骤S204之后,控制单元210知道预留存储器空间500的容量为64MB,因此,控制单元210将预留存储器空间500分成动态存储器空间510,例如8MB,以及静态存储器空间520,例如56MB,如图5所示。或者,控制单元210将预留存储器空间500的40MB定义为静态存储器空间520,剩下的24MB定义为动态存储器空间510;或者,控制单元210将预留存储器空间500均分成二部份,第一部份为静态存储器空间520,大小为32MB,第二部份为动态存储器空间510,大小为32MB。
步骤S214:透过接口逻辑而依序上传复数个子对照表至静态存储器空间以及部份剩余复数子对照表至动态存储器空间,其中,部份复数个子对照表先上传至静态存储器空间后,再将部份剩余复数子对照表上传至动态存储器空间;或者,复数个子对照表先上传至静态存储器空间后,再将具有较高的读取次数(read count)的部份剩余复数子对照表上传至动态存储器空间。一般而言,非易失性储存媒体220并不会填满数据,例如,非易失性储存媒体220的数据容量为256GB,但仅储存32GB数据,因此,控制单元210将管理这32GB数据的复数个子对照表上传至静态存储器空间520。如果一个子对照表为64KB,管理这32GB数据需要500个子对照表,即子对照表#0~499,则控制单元210将这500个子对照表上传至静态存储器空间520。假设非易失性储存媒体220所储存的数据增加至64GB,此时管理这64GB数据的子对照表共计1000个,即子对照表#0~999。由于静态存储器空间520仅可容纳的875个子对照表,因此,控制单元210再将复数个子对照表,包括子对照表#500~874,上传至静态存储器空间520,最后,将剩下的125个子对照表,即子对照表#875~999,上传至动态存储器空间510。假设非易失性储存媒体220所储存的数据超过64GB,例如:128GB,此时管理非易失性储存媒体220所储存的数据所需的子对照表共计2000个。控制单元210保留储存在静态存储器空间520上的875个子对照表,即子对照表#0~874,并依据管理新增、更新或删除数据所需的子对照表,例如子对照表#1000~1100,替代或交换(swap)储存在动态存储器空间510上的子对照表,例如子对照表#875~999。换句话说,静态存储器空间520所储存的子对照表是不会替代或交换的,而动态存储器空间510所储存的子对照表是可替代或交换的。由于不需执行子对照表替代或交换的步骤,所以,控制单元210可以较佳地效率来管理56GB以下的数据,即具有较小LBA的56GB数据。当数据量超过56GB时,仍有56GB的数据以较佳地效率来管理,使得数据储存装置200的系统效能能持在一个较佳的水平。
另外,当执行子对照表替代或交换的步骤时,控制单元210较佳以具有较高读取次数(read count)的子对照表来替代或交换储存在动态存储器空间510的子对照表,以增加数据存取时动态存储器空间510中子对照表的命中率(hit rate),增加数据储存装置200的系统效能。
在本发明可应用于数据储存装置的存储器管理方法中,如何快速而正确地自预留存储器空间500,包括动态存储器空间510以及静态存储器空间520,中找到所需的子对照表,对于数据储存装置200的系统效能有决定性的影响。在本发明中,控制单元210建立并维护一个快取找查表,如图6所示,快取找查表乃较佳依据图4所记录的信息而建立。假设动态存储器空间510为8MB,静态存储器空间520为56MB,子对照表为64KB,非易失性储存媒体220的数据容量为128GB,则子对照表的总数为2000个,而快取找查表中可记录1000笔与子对照表相关的记录,包括:子对照表的编号、实体地址起点、读取次数等信息。由于控制单元210不对静态存储器空间520中的子对照表执行替代或交换程序,因此,读取次数的信息可略而不计,或以任意值,例如:FF,来替代。或者,控制单元210仅以快取找查表来记录储存于动态存储器空间510的子对照表相关的信息,而不记录储存于静态存储器空间520的子对照表相关的信息。藉由读取快取找查表,控制单元210可以快速而正确地自预留存储器空间500存取子对照表以对非易失性储存媒体220所储存的数据进行存取。
另外,控制单元210亦可依照效能参数而调整静态存储器空间520在预留存储器空间500的占比,其中,效能参数可以与预留存储器空间500大小有关,例如:预留存储器空间500愈小,则静态存储器空间520的占比愈小;效能参数可以与储存在非易失性储存媒体220的实际数据量有关,例如,非易失性储存媒体220所储存的实际数据量愈大,则静态存储器空间520的占比愈小,或者,直接归零,即预留存储器空间500等于动态存储器空间510。
藉由上述,由于本发明乃是自主机取得存储器空间,并将此存储器空间当作数据储存装置的存储器缓冲器,同时又透过特定方式来使存储器空间保持其所储存的子对照表具有相对高的读取次数,因此本发明可提高未采用动态随机存取存储器的数据储存装置的效能。
虽然本发明以前述的实施例揭露如上,然其并非用于限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的申请专利范围所界定者为准。
Claims (10)
1.一种可应用于数据储存装置的存储器管理方法,其特征在于,所述存储器管理方法包括:
向主机请求私人存储器空间;
记录所述主机所给予的预留存储器空间;
将对照表分割成复数个子对照表;
判断所述预留存储器空间的容量是否足够储存所述复数个子对照表;以及
当判断为是时,透过接口逻辑上传所述复数个子对照表至所述预留存储器空间。
2.如权利要求1所述的存储器管理方法,其特征在于,所述预留存储器空间的容量等于或小于所述私人存储器空间的容量。
3.如权利要求1所述的存储器管理方法,其特征在于,所述复数个子对照表的总数为默认值。
4.如权利要求1所述的存储器管理方法,其特征在于,每一所述复数个子对照表的大小为默认值。
5.一种可应用于数据储存装置的存储器管理方法,其特征在于,所述存储器管理方法包括:
向主机请求私人存储器空间;
记录所述主机所给予的预留存储器空间;
将对照表分割成复数个子对照表;
判断所述预留存储器空间的容量是否足够储存所述复数个子对照表;以及
当判断为否时,将预留的所述存储器空间划分成动态存储器空间以及静态存储器空间,并透过接口逻辑上传部份所述复数个子对照表至所述静态存储器空间。
6.如权利要求5所述的存储器管理方法,其特征在于,更包括:
透过所述接口逻辑上传部份剩余所述复数个子对照表至所述动态存储器空间。
7.如权利要求5所述的存储器管理方法,其特征在于,更包括:
透过所述接口逻辑随机上传部份剩余所述复数个子对照表至所述动态存储器空间。
8.如权利要求5所述的存储器管理方法,其特征在于,更包括:
透过所述接口逻辑依据剩余所述复数个子对照表的复数读取次数的大小依序上传部份剩余所述复数个子对照表至所述动态存储器空间。
9.如权利要求5所述的存储器管理方法,其特征在于,所述预留存储器空间的容量等于或小于所述私人存储器空间的容量。
10.一种可应用于数据储存装置的存储器管理方法,,其特征在于,所述存储器管理方法包括:
向主机请求私人存储器空间;
记录所述主机所给予的预留存储器空间;
将对照表分割成复数个子对照表;
判断所述预留存储器空间的容量是否足够储存所述复数个子对照表;
当判断为是时,透过接口逻辑上传所述复数个子对照表至所述预留存储器空间;以及
当判断为否时,将预留的所述存储器空间划分成动态存储器空间以及静态存储器空间,并透过所述接口逻辑上传部份所述复数个子对照表至所述静态存储器空间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105137285A TW201818248A (zh) | 2016-11-15 | 2016-11-15 | 可應用於資料儲存裝置之記憶體管理方法 |
TW105137285 | 2016-11-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073524A true CN108073524A (zh) | 2018-05-25 |
CN108073524B CN108073524B (zh) | 2022-08-19 |
Family
ID=62106576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711120617.7A Active CN108073524B (zh) | 2016-11-15 | 2017-11-14 | 可应用于数据储存装置的存储器管理方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10678685B2 (zh) |
CN (1) | CN108073524B (zh) |
TW (1) | TW201818248A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI709854B (zh) * | 2019-01-21 | 2020-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 |
KR20210039871A (ko) | 2019-10-02 | 2021-04-12 | 삼성전자주식회사 | 메타 데이터를 관리하는 스토리지 시스템, 스토리지 시스템을 제어하는 호스트 시스템 및 스토리지 시스템의 동작방법 |
KR20210156090A (ko) * | 2020-06-17 | 2021-12-24 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
DE102022100592A1 (de) | 2021-02-05 | 2022-08-11 | Samsung Electronics Co., Ltd. | Betriebsverfahren eines Universal-Flash-Storage-Hosts und Betriebsverfahren eines Universal-Flash-Storage-Systems |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040186946A1 (en) * | 2003-03-19 | 2004-09-23 | Jinaeon Lee | Flash file system |
US7293237B1 (en) * | 2002-01-14 | 2007-11-06 | Symantec Operating Corporation | Graphical user interface for creating a customized storage layout for an application |
CN101119484A (zh) * | 2006-08-02 | 2008-02-06 | 联发科技股份有限公司 | 搜寻一装置所储存数据的方法、数据储存系统及播放系统 |
WO2008150927A2 (en) * | 2007-05-30 | 2008-12-11 | Schooner Information Technology | System including a fine-grained memory and a less-fine-grained memory |
CN101344867A (zh) * | 2007-07-13 | 2009-01-14 | 深圳市江波龙电子有限公司 | 提高Nand型快闪存储器数据存取速度的方法 |
CN101436159A (zh) * | 2007-11-14 | 2009-05-20 | 深圳市朗科科技股份有限公司 | 存储介质管理方法 |
CN103064641A (zh) * | 2013-02-05 | 2013-04-24 | 威盛电子股份有限公司 | 非易失性存储装置及其操作方法 |
CN103425591A (zh) * | 2012-05-20 | 2013-12-04 | 创见资讯股份有限公司 | 具可延长储存空间使用寿命的非挥发性内存装置及其方法 |
CN103678144A (zh) * | 2012-09-05 | 2014-03-26 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
CN103885728A (zh) * | 2014-04-04 | 2014-06-25 | 华中科技大学 | 一种基于固态盘的磁盘缓存系统 |
US20140281286A1 (en) * | 2013-03-14 | 2014-09-18 | Samsung Electronics Co., Ltd. | Memory system |
CN104281535A (zh) * | 2014-09-24 | 2015-01-14 | 北京兆易创新科技股份有限公司 | 一种映射表在内存中的处理方法和装置 |
CN104346103A (zh) * | 2013-08-09 | 2015-02-11 | 群联电子股份有限公司 | 指令执行方法、存储器控制器与存储器储存装置 |
CN105005536A (zh) * | 2015-07-01 | 2015-10-28 | 忆正科技(武汉)有限公司 | 固态存储设备、主机的工作方法及固态存储设备、主机 |
US20160041788A1 (en) * | 2014-08-05 | 2016-02-11 | Samsung Electronics Co., Ltd. | Method of optimizing non-volatile memory based storage device |
CN105426315A (zh) * | 2014-09-02 | 2016-03-23 | 慧荣科技股份有限公司 | 实体储存对照表维护方法以及使用该方法的装置 |
CN106020723A (zh) * | 2016-05-19 | 2016-10-12 | 记忆科技(深圳)有限公司 | 一种简化NVMe固态硬盘的方法 |
CN106033319A (zh) * | 2015-03-11 | 2016-10-19 | 广明光电股份有限公司 | 固态硬盘动态建立转换层的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843727B2 (en) | 2004-09-30 | 2014-09-23 | Intel Corporation | Performance enhancement of address translation using translation tables covering large address spaces |
US7587752B2 (en) * | 2005-03-04 | 2009-09-08 | Qualcomm Incorporated | Methods and apparatus for providing a control channel in a data network |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US8966176B2 (en) | 2010-05-27 | 2015-02-24 | Sandisk Il Ltd. | Memory management storage to a host device |
US8386717B1 (en) * | 2010-09-08 | 2013-02-26 | Symantec Corporation | Method and apparatus to free up cache memory space with a pseudo least recently used scheme |
US9116820B2 (en) | 2012-08-28 | 2015-08-25 | Memory Technologies Llc | Dynamic central cache memory |
US9563382B2 (en) | 2014-06-05 | 2017-02-07 | Sandisk Technologies Llc | Methods, systems, and computer readable media for providing flexible host memory buffer |
TWI579693B (zh) * | 2016-04-29 | 2017-04-21 | 群聯電子股份有限公司 | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 |
-
2016
- 2016-11-15 TW TW105137285A patent/TW201818248A/zh unknown
-
2017
- 2017-10-16 US US15/785,264 patent/US10678685B2/en active Active
- 2017-11-14 CN CN201711120617.7A patent/CN108073524B/zh active Active
-
2020
- 2020-03-18 US US16/822,032 patent/US11455241B2/en active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293237B1 (en) * | 2002-01-14 | 2007-11-06 | Symantec Operating Corporation | Graphical user interface for creating a customized storage layout for an application |
US20040186946A1 (en) * | 2003-03-19 | 2004-09-23 | Jinaeon Lee | Flash file system |
CN101119484A (zh) * | 2006-08-02 | 2008-02-06 | 联发科技股份有限公司 | 搜寻一装置所储存数据的方法、数据储存系统及播放系统 |
WO2008150927A2 (en) * | 2007-05-30 | 2008-12-11 | Schooner Information Technology | System including a fine-grained memory and a less-fine-grained memory |
CN101344867A (zh) * | 2007-07-13 | 2009-01-14 | 深圳市江波龙电子有限公司 | 提高Nand型快闪存储器数据存取速度的方法 |
CN101436159A (zh) * | 2007-11-14 | 2009-05-20 | 深圳市朗科科技股份有限公司 | 存储介质管理方法 |
CN103425591A (zh) * | 2012-05-20 | 2013-12-04 | 创见资讯股份有限公司 | 具可延长储存空间使用寿命的非挥发性内存装置及其方法 |
CN103678144A (zh) * | 2012-09-05 | 2014-03-26 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
CN103064641A (zh) * | 2013-02-05 | 2013-04-24 | 威盛电子股份有限公司 | 非易失性存储装置及其操作方法 |
US20140223079A1 (en) * | 2013-02-05 | 2014-08-07 | Via Technologies, Inc. | Non-volatile memory apparatus and operating method thereof |
US20140281286A1 (en) * | 2013-03-14 | 2014-09-18 | Samsung Electronics Co., Ltd. | Memory system |
CN104346103A (zh) * | 2013-08-09 | 2015-02-11 | 群联电子股份有限公司 | 指令执行方法、存储器控制器与存储器储存装置 |
CN103885728A (zh) * | 2014-04-04 | 2014-06-25 | 华中科技大学 | 一种基于固态盘的磁盘缓存系统 |
US20160041788A1 (en) * | 2014-08-05 | 2016-02-11 | Samsung Electronics Co., Ltd. | Method of optimizing non-volatile memory based storage device |
CN105426315A (zh) * | 2014-09-02 | 2016-03-23 | 慧荣科技股份有限公司 | 实体储存对照表维护方法以及使用该方法的装置 |
CN104281535A (zh) * | 2014-09-24 | 2015-01-14 | 北京兆易创新科技股份有限公司 | 一种映射表在内存中的处理方法和装置 |
CN106033319A (zh) * | 2015-03-11 | 2016-10-19 | 广明光电股份有限公司 | 固态硬盘动态建立转换层的方法 |
CN105005536A (zh) * | 2015-07-01 | 2015-10-28 | 忆正科技(武汉)有限公司 | 固态存储设备、主机的工作方法及固态存储设备、主机 |
CN106020723A (zh) * | 2016-05-19 | 2016-10-12 | 记忆科技(深圳)有限公司 | 一种简化NVMe固态硬盘的方法 |
Non-Patent Citations (3)
Title |
---|
YOUYOU LU .ETC: "High-Performance and Lightweight Transaction Support in Flash-Based SSDs", 《IEEE TRANSACTIONS ON COMPUTERS》 * |
任哲等: "《嵌入式操作系统基础μC/OSII和Linux 第2版》", 31 August 2011, 北京航空航天大学出版社 * |
海月修神至尊: "《详谈高端内存和低端内存》", 《HTTPS://WENKU.BAIDU.COM/VIEW/644B49F608A1284AC85043C8.HTML》 * |
Also Published As
Publication number | Publication date |
---|---|
TW201818248A (zh) | 2018-05-16 |
US20200218650A1 (en) | 2020-07-09 |
US11455241B2 (en) | 2022-09-27 |
US10678685B2 (en) | 2020-06-09 |
CN108073524B (zh) | 2022-08-19 |
US20180137048A1 (en) | 2018-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073524A (zh) | 可应用于数据储存装置的存储器管理方法 | |
RU2348992C2 (ru) | Запоминающее устройство и ведущее устройство | |
CN110633048B (zh) | 闪存存储装置的命名空间操作方法 | |
US10977171B2 (en) | Method for creating multi-namespace and accessing data therein | |
US11354236B2 (en) | Garbage collection method for data storage device | |
KR100740635B1 (ko) | 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법 | |
CN105683953B (zh) | 支持加速数据库操作的数据存储设备 | |
US20200089619A1 (en) | Data storage device and method of deleting namespace thereof | |
CN110389908A (zh) | 存储器系统、数据处理系统和存储器系统的操作方法 | |
JP4874588B2 (ja) | 記憶デバイスおよびホスト機器 | |
CN108073359B (zh) | 数据储存装置的操作方法 | |
US10140055B2 (en) | Ensuring that memory device actions are valid using reference values | |
CN109164976A (zh) | 利用写缓存优化存储设备性能 | |
CN110047553A (zh) | 数据处理系统及其操作方法 | |
CN107783916A (zh) | 数据传输方法、存储控制器与清单管理电路 | |
CN109947669A (zh) | Kv存储设备的地址转换方法与系统 | |
CN207676335U (zh) | 具有非对称通道的固态存储设备 | |
CN110554833B (zh) | 存储设备中并行处理io命令 | |
CN109815157A (zh) | 编程命令处理方法与装置 | |
US20200371971A1 (en) | Data processing system including memory systems coupled through internal channel | |
US20230359550A1 (en) | File system integration into data mining model | |
TWI534619B (zh) | 動態邏輯分段方法以及使用該方法的裝置 | |
CN208569620U (zh) | 具有nid池的存储设备 | |
CN111198651B (zh) | 进行存储空间管理的方法以及数据存储装置及其控制器 | |
US10719461B2 (en) | Solid state device with distributed bit buckets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |