CN108073524A - 可应用于数据储存装置的存储器管理方法 - Google Patents

可应用于数据储存装置的存储器管理方法 Download PDF

Info

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
Application number
CN201711120617.7A
Other languages
English (en)
Other versions
CN108073524B (zh
Inventor
许鸿荣
吴晃兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN108073524A publication Critical patent/CN108073524A/zh
Application granted granted Critical
Publication of CN108073524B publication Critical patent/CN108073524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/225Hybrid cache memory, e.g. having both volatile and non-volatile portions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/70Details relating to dynamic memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity 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.一种可应用于数据储存装置的存储器管理方法,,其特征在于,所述存储器管理方法包括:
向主机请求私人存储器空间;
记录所述主机所给予的预留存储器空间;
将对照表分割成复数个子对照表;
判断所述预留存储器空间的容量是否足够储存所述复数个子对照表;
当判断为是时,透过接口逻辑上传所述复数个子对照表至所述预留存储器空间;以及
当判断为否时,将预留的所述存储器空间划分成动态存储器空间以及静态存储器空间,并透过所述接口逻辑上传部份所述复数个子对照表至所述静态存储器空间。
CN201711120617.7A 2016-11-15 2017-11-14 可应用于数据储存装置的存储器管理方法 Active CN108073524B (zh)

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 (3)

* Cited by examiner, † Cited by third party
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 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (18)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 群聯電子股份有限公司 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置

Patent Citations (19)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US10678685B2 (en) 2020-06-09
US20180137048A1 (en) 2018-05-17
CN108073524B (zh) 2022-08-19
TW201818248A (zh) 2018-05-16
US20200218650A1 (en) 2020-07-09
US11455241B2 (en) 2022-09-27

Similar Documents

Publication Publication Date Title
RU2348992C2 (ru) Запоминающее устройство и ведущее устройство
CN108255415B (zh) 建立多重命名空间方法与存取多重命名空间的数据的方法
US10282286B2 (en) Address mapping using a data unit type that is variable
US20200226062A1 (en) Garbage collection method for data storage device
CN105683953B (zh) 支持加速数据库操作的数据存储设备
CN110633048B (zh) 闪存存储装置的命名空间操作方法
US11455241B2 (en) Data management method applicable to data storage device
JP4874588B2 (ja) 記憶デバイスおよびホスト機器
CN110389908A (zh) 存储器系统、数据处理系统和存储器系统的操作方法
US20200089619A1 (en) Data storage device and method of deleting namespace thereof
KR20070068050A (ko) 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법
US20200218667A1 (en) Operating method for data storage device
CN109164976A (zh) 利用写缓存优化存储设备性能
CN107783916A (zh) 数据传输方法、存储控制器与清单管理电路
CN109947669A (zh) Kv存储设备的地址转换方法与系统
US10140055B2 (en) Ensuring that memory device actions are valid using reference values
TWI622890B (zh) 建立多重命名空間方法與存取多重命名空間的資料的方法
CN110554833B (zh) 存储设备中并行处理io命令
CN110047553A (zh) 数据处理系统及其操作方法
CN109815157A (zh) 编程命令处理方法与装置
US20200371971A1 (en) Data processing system including memory systems coupled through internal channel
CN207676335U (zh) 具有非对称通道的固态存储设备
CN208569620U (zh) 具有nid池的存储设备
US20200050566A1 (en) Solid state device with distributed bit buckets
WO2016037560A1 (zh) 数据写入方法、装置及存储器

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