CN108920386A - 面向非易失性内存的磨损均衡及访问方法、设备和存储介质 - Google Patents

面向非易失性内存的磨损均衡及访问方法、设备和存储介质 Download PDF

Info

Publication number
CN108920386A
CN108920386A CN201810824443.0A CN201810824443A CN108920386A CN 108920386 A CN108920386 A CN 108920386A CN 201810824443 A CN201810824443 A CN 201810824443A CN 108920386 A CN108920386 A CN 108920386A
Authority
CN
China
Prior art keywords
physical unit
rank
nonvolatile memory
data
ranks
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
CN201810824443.0A
Other languages
English (en)
Other versions
CN108920386B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Publication of CN108920386A publication Critical patent/CN108920386A/zh
Priority to US17/261,566 priority Critical patent/US11320989B2/en
Priority to RU2021101729A priority patent/RU2767141C1/ru
Priority to JP2021503050A priority patent/JP7110479B2/ja
Priority to EP19837189.0A priority patent/EP3825856B1/en
Priority to PCT/CN2019/080815 priority patent/WO2020015385A1/zh
Application granted granted Critical
Publication of CN108920386B publication Critical patent/CN108920386B/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • 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/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本发明公开了一种面向非易失性内存的磨损均衡及访问方法、设备和存储介质,该方法包括:将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p‑1级别的物理单位包括多个第p级别的物理单位;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位。根据本发明的技术方案,能够实际将同一逻辑地址的数据均衡分散在各个物理地址,使得对同一固定的逻辑地址的无意或恶意集中访问,分散到多个物理地址上,而对于传统的查表式的地址转换方法,无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作。

Description

面向非易失性内存的磨损均衡及访问方法、设备和存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种面向非易失性内存的磨损均衡及访问方法、设备和存储介质。
背景技术
非易失性内存(NVM,Non-Volatile Memory)因其兼具传统外存的持久性和传统内存的高性能,近年来迎来了飞速的发展。与固态硬盘(SSD,Solid State Drives)相似,非易失性内存具有有限次的擦写次数。面对该种特性,必须支持磨损均衡。否则,无意的热点访问,或恶意的反复擦写攻击,都会导致某些物理地址(页、块、段)首先达到擦写次数上限,造成负面影响——轻者降低可用容量,重者导致全盘报废。
固态硬盘通过硬件映射表的方法完成磨损均衡的工作,即通过FTL(FlashTranslation Layer,闪存转换层)中的映射表完成逻辑地址与物理地址的映射。FTL统计物理地址的访问次数,对于访问频率高的物理地址,只需要改变映射表,将该逻辑地址映射的物理地址改为访问频率低的物理地址。除了地址映射、磨损均衡之外,FTL还承担了垃圾回收、ECC(Error Correcting Code,错误检查和纠正)校验、坏块管理等工作。
然而,非易失性内存的磨损均衡不能照搬传统的硬件映射表方法,原因在于:(1)非易失性内存无FTL硬件。FTL凝结了固态硬盘厂商的核心技术,其集成在硬件设备中。但是非易失性内存并无FTL硬件,如果仅仅为了磨损均衡增加硬件设计上的开销和成本,难以得到硬件厂商的支持。(2)非易失性内存对性能要求高。采用软件的查表操作效率低下,并且,增加了“统计擦写次数”的步骤,这样的性能损害对于固态硬盘不足1%(基本可以忽略),但是非易失性内存的访问时延低于固态硬盘1-2个数量级,这样的性能损害将产生30%以上的性能损害(十分显著)。(3)非易失性内存的价格高昂。如果采用软件的方式实现映射表,记录“逻辑地址、物理地址、擦写次数”的映射关系,则会占据宝贵的内存空间,大大降低了可用容量。综上所述,不论是照搬传统的硬件的映射表方法,还是通过软件改进的映射表方法,均不适用于非易失性内存。
因此,本发明提出一种面向非易失性内存的磨损均衡方案,以解决非易失性内存内部的微观磨损均衡问题。
发明内容
本发明实施例的主要目的在于提出一种面向非易失性内存的磨损均衡及访问方法、设备和存储介质,旨在解决非易失性内存内部的微观磨损均衡问题。
为实现上述目的,本发明提供了一种面向非易失性内存的磨损均衡及访问方法,包括:将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
为实现上述目的,本发明提供了一种面向非易失性内存的磨损均衡及访问设备,包括非易失性内存、处理器;所述处理器用于执行面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
为实现上述目的,本发明提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
根据以上技术方案,可知本发明的面向非易失性内存的磨损均衡及访问方法、设备和存储介质至少具有以下优点:
根据本发明的技术方案,能够实际将同一逻辑地址的数据均衡分散在各个物理地址,使得对同一固定的逻辑地址的无意或恶意集中访问,分散到多个物理地址上,而对于传统的查表式的地址转换方法,则无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。
附图说明
图1是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问方法的流程图;
图2是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问方法的示意图;
图3是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问方法的流程图;
图4是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问方法的示意图;
图5是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问设备的框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
如图1所示,本发明的一个实施例中提供了一种面向非易失性内存的磨损均衡及访问方法,包括:
步骤S110,将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。
在本实施例中,例如,将非易失性内存从逻辑上划分为n个第一物理单位,其尺寸为N;每个第一物理单位划分为m个第二物理单位其尺寸为M;每个第二物理单位划分为k个第三物理单位,其尺寸为K……以此类推。
在本实施例中,进一步对步骤S110的触发条件进行限制,典型的触发条件举例:(1)用户手动触发。(2)CPU检测到在过去一段时间,例如,1小时之内对非易失性内存某个固定地址的写入次数超过预设阈值,例如,10万次。在步骤S110触发前,采用传统映射表方法。
步骤S120,在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
在本实施例中,进一步对步骤S120的终止条件进行限制。典型的终止条件举例:(1)用户手动触发。(2)CPU检测到在过去一段时间内,例如,7天之内的任一时间间隔,例如,1小时中未出现对非易失性内存某个固定地址的写入次数超过预设阈值,例如,10万次。(3)检测到该非易失性内存已到达预设寿命值,濒临寿命极限,此时已无磨损均衡的必要了。(4)该非易失性内存的若干地址已达写入次数上限。在步骤S120终止后,采用传统映射表方法。
在本实施例中,设置第一物理单位的轮换时间周期为A,第二物理单位的轮换时间周期为B,第三物理单位的轮换时间周期为C……以此类推。在本实施例中,例如,当时间周期A到达时,将n个第一物理单位进行换位;当时间周期B到达时,将每个第一物理单位中的m个第二物理单位进行轮换;当时间周期C到达时,将每个第二物理单位中的k个第三物理单位进行轮换……以此类推,轮换后的数据位置发生变化,具体如图2所示。
在本实施例中,轮换的物理单位包括但不限于:(1)段;(2)块;(3)页;(4)若干字节(B);(5)若干千字节(KB);(6)若干兆字节(MB);(7)若干吉字节(GB);(8)以及其他内存容量单位。轮换的时间单位包括但不限于:(1)若干年;(2)若干季度;(3)若干月;(4)若干周;(5)若干日;(6)若干小时;(7)若干分钟;(8)若干秒;(9)及其他农历、藏历时间单位。轮换的方式包括但不限于:(1)顺序式逐一轮换;(2)逆序式逐一轮换;(3)顺序式跳跃轮换;(4)逆序式跳跃轮换;(5)伪随机轮换;(6)其他轮换方式。
根据本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果,与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。
如图3所示,本发明的一个实施例中提供了一种面向非易失性内存的磨损均衡及访问方法,包括:
步骤S310,将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。
步骤S320,根据当前的工作场景,设置第q级别的物理单位对应的时间周期。
在本实施例中,优选地,各轮换物理单位各自独立地同时进行轮换。当然,仅进行段的轮换或仅进行块的轮换能够在一定程度上达到磨损均衡,但对同一逻辑地址的访问固定分散在某几个物理地址上,无法做到将该逻辑地址分散到全体物理地址上。本发明需将保护全部步骤或若干步骤组合。轮换的时间间隔越短,磨损的均衡性也就越强,迁移的次数也就越频繁,会暂时性地停止对外服务,因此轮换的时间既不能太久、也不能太短,需要实施用例时根据实际情况确定。优选地,迁移时间应选在系统低谷时段。优选地,在系统受到攻击时,或其他有需要的场景中,可将时间周期A、B、C缩短,由用户触发或系统自动触发。
步骤S330,在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据拷贝至非易失性内存的其他空闲位置或其他内外存,并按每个第q级别的物理单位的数据轮换后的位置,从非易失性内存的其他空闲位置或其他内外存拷贝至非易失性内存,q为1至p中任一正整数。
在本实施例中,还提供一种轮换的方式:将一个第q级别的物理单位的数据拷贝至非易失性内存的其他空闲位置或其他内外存,并逐个将其他第q级别的物理单位的数据拷贝至非易失性内存中上一拷贝数据的位置,以及将非易失性内存的其他空闲位置或其他内外存中的数据拷贝至非易失性内存中上一拷贝数据的位置。
在本实施例中,(1)将该非易失性内存全部数据拷贝至其他内存或外存,随后将数据按照新的位置拷贝至该非易失性内存;(2)将该非易失性内存的最后一个段(或块)拷贝至其他内存或外存,随后将非易失性内存中的数据逐段(块)拷贝至新的位置,最后将暂存在其他内存或外存的最后一个段(块)拷贝至非易失性内存中的新位置。
步骤S340,在用户访问非易失性内存时,将第q级别的n个物理单位中的第a个物理单位的逻辑地址设置为(x/Q+y/A)%n,其中x为非易失性内存的逻辑地址,Q为每个第q级别的物理单位的尺寸,y为用户的访问时间,A为第q级别的物理单位对应的时间周期。
在本实施例中,例如,用户在y时间,访问逻辑地址为x的内存时,通过本方法计算其物理地址Z,计算在第a个第一物理单位中,Z=(x/N+y/A)%n;计算在第b个第二物理单位中,Z=(x/M+y/B)%m;计算在第c个第三物理单位中,Z=(x/K+y/C)%k……以此类推。a、b、c……即可确定物理地址Z。以上的访问方法既可以由用户进行,也可以不由用户进行。前者,由用户负责执行上述步骤,在访问时先将逻辑地址转换成物理地址。后者,物理地址轮换对用户透明,用户仅在访问时始终以逻辑地址进行访问,由驱动程序(或操作系统、或容器)将其转换为物理地址。
采用本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果。与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。
如图4所示为本实施例的一个具体示例:
(1)轮换周期A为月。轮换周期B为年。该非易失性内存从逻辑上被划分为3个段,每个段有10个块。轮换方式为顺序式逐一轮换。
(2)在每个月的最后1秒,对非易失性内存中的3个段进行轮换,即将段3的内容暂存写入其他内存,段2的内容写入段3的位置,段1的内容写入段2的位置,其他内存中的暂存内容写入段1的位置。
(3)在每年的最后1秒,对非易失性内存中的3个段,逐个进行块的轮换:将块1的内容写入块2的位置、块2的内容写入块3的位置……以此类推。
(4)下述步骤展示了具体的时间对于逻辑地址向物理地址的转化。
(5)用户在2017年3月时,访问逻辑地址为第16号块,其为第2号段内的第7个块。由于是3月,因此段号向后移3次,即仍为2号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第2号段内的第4号块,即为13号块。
(6)用户在2017年4月时,同样访问逻辑地址为第16号块。由于是4月,因此段号循环后移4次,为3号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第3号段内的第4号块,即为23号块。
(7)用户在2017年4月时,同样访问逻辑地址为第16号块。由于是4月,因此段号循环后移4次,为3号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第3号段内的第4号块,即为23号块。
(8)用户在2017年5月时,同样访问逻辑地址为第16号块。由于是5月,因此段号循环后移5次,为1号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第1号段内的第4号块,即为3号块。
(9)用户在2018年5月时,同样访问逻辑地址为第16号块。由于是5月,因此段号循环后移5次,为1号段。由于是2018年,因此块号向后移2018次,即为段内的5号块。综合以上,该块的物理地址为第1号段内的第5号块,即为4号块。
(10)类似地,逻辑地址为22的块,其在2017年3月时的物理地址为29号块,在2017年4月时的物理地址为9号块,在2017年5月时的物理地址为19号块,在2018年6月时的物理地址为10号块。
如图5所示,本发明的一个实施例中提供了一种面向非易失性内存的磨损均衡及访问设备,包括非易失性内存510、处理器520
处理器520用于执行面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:
将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。
在本实施例中,例如,将非易失性内存从逻辑上划分为n个第一物理单位,其尺寸为N;每个第一物理单位划分为m个第二物理单位其尺寸为M;每个第二物理单位划分为k个第三物理单位,其尺寸为K……以此类推。
在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
在本实施例中,设置第一物理单位的轮换时间周期为A,第二物理单位的轮换时间周期为B,第三物理单位的轮换时间周期为C……以此类推。在本实施例中,例如,当时间周期A到达时,将n个第一物理单位进行换位;当时间周期B到达时,将每个第一物理单位中的m个第二物理单位进行轮换;当时间周期C到达时,将每个第二物理单位中的k个第三物理单位进行轮换……以此类推,轮换后的数据位置发生变化,具体如图2所示。
在本实施例中,轮换的物理单位包括但不限于:(1)段;(2)块;(3)页;(4)若干字节(B);(5)若干千字节(KB);(6)若干兆字节(MB);(7)若干吉字节(GB);(8)以及其他内存容量单位。轮换的时间单位包括但不限于:(1)若干年;(2)若干季度;(3)若干月;(4)若干周;(5)若干日;(6)若干小时;(7)若干分钟;(8)若干秒;(9)及其他农历、藏历时间单位。轮换的方式包括但不限于:(1)顺序式逐一轮换;(2)逆序式逐一轮换;(3)顺序式跳跃轮换;(4)逆序式跳跃轮换;(5)伪随机轮换;(6)其他轮换方式。
根据本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果,与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。
如图5所示,本发明的一个实施例中提供了一种面向非易失性内存的磨损均衡及访问设备,包括非易失性内存510、处理器520
处理器520用于执行面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:
将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。
根据当前的工作场景,设置第q级别的物理单位对应的时间周期。
在本实施例中,优选地,各轮换物理单位各自独立地同时进行轮换。当然,仅进行段的轮换或仅进行块的轮换能够在一定程度上达到磨损均衡,但对同一逻辑地址的访问固定分散在某几个物理地址上,无法做到将该逻辑地址分散到全体物理地址上。本发明需将保护全部步骤或若干步骤组合。轮换的时间间隔越短,磨损的均衡性也就越强,迁移的次数也就越频繁,会暂时性地停止对外服务,因此轮换的时间既不能太久、也不能太短,需要实施用例时根据实际情况确定。优选地,迁移时间应选在系统低谷时段。优选地,在系统受到攻击时,或其他有需要的场景中,可将时间周期A、B、C缩短,由用户触发或系统自动触发。
在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据拷贝至非易失性内存的其他空闲位置或其他内外存,并按每个第q级别的物理单位的数据轮换后的位置,从非易失性内存的其他空闲位置或其他内外存拷贝至非易失性内存,q为1至p中任一正整数。
在本实施例中,还提供一种轮换的方式:将一个第q级别的物理单位的数据拷贝至非易失性内存的其他空闲位置或其他内外存,并逐个将其他第q级别的物理单位的数据拷贝至非易失性内存中上一拷贝数据的位置,以及将非易失性内存的其他空闲位置或其他内外存中的数据拷贝至非易失性内存中上一拷贝数据的位置。
在本实施例中,(1)将该非易失性内存全部数据拷贝至其他内存或外存,随后将数据按照新的位置拷贝至该非易失性内存;(2)将该非易失性内存的最后一个段(或块)拷贝至其他内存或外存,随后将非易失性内存中的数据逐段(块)拷贝至新的位置,最后将暂存在其他内存或外存的最后一个段(块)拷贝至非易失性内存中的新位置。
在用户访问非易失性内存时,将第q级别的n个物理单位中的第a个物理单位的逻辑地址设置为(x/Q+y/A)%n,其中x为非易失性内存的逻辑地址,Q为每个第q级别的物理单位的尺寸,y为用户的访问时间,A为第q级别的物理单位对应的时间周期。
在本实施例中,例如,用户在y时间,访问逻辑地址为x的内存时,通过本方法计算其物理地址Z,计算在第a个第一物理单位中,Z=(x/N+y/A)%n;计算在第b个第二物理单位中,Z=(x/M+y/B)%m;计算在第c个第三物理单位中,Z=(x/K+y/C)%k……以此类推。a、b、c……即可确定物理地址Z。以上的访问方法既可以由用户进行,也可以不由用户进行。前者,由用户负责执行上述步骤,在访问时先将逻辑地址转换成物理地址。后者,物理地址轮换对用户透明,用户仅在访问时始终以逻辑地址进行访问,由驱动程序(或操作系统、或容器)将其转换为物理地址。
采用本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果。与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。
如图4所示为本实施例的一个具体示例:
(1)轮换周期A为月。轮换周期B为年。该非易失性内存从逻辑上被划分为3个段,每个段有10个块。轮换方式为顺序式逐一轮换。
(2)在每个月的最后1秒,对非易失性内存中的3个段进行轮换,即将段3的内容暂存写入其他内存,段2的内容写入段3的位置,段1的内容写入段2的位置,其他内存中的暂存内容写入段1的位置。
(3)在每年的最后1秒,对非易失性内存中的3个段,逐个进行块的轮换:将块1的内容写入块2的位置、块2的内容写入块3的位置……以此类推。
(4)下述步骤展示了具体的时间对于逻辑地址向物理地址的转化。
(5)用户在2017年3月时,访问逻辑地址为第16号块,其为第2号段内的第7个块。由于是3月,因此段号向后移3次,即仍为2号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第2号段内的第4号块,即为13号块。
(6)用户在2017年4月时,同样访问逻辑地址为第16号块。由于是4月,因此段号循环后移4次,为3号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第3号段内的第4号块,即为23号块。
(7)用户在2017年4月时,同样访问逻辑地址为第16号块。由于是4月,因此段号循环后移4次,为3号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第3号段内的第4号块,即为23号块。
(8)用户在2017年5月时,同样访问逻辑地址为第16号块。由于是5月,因此段号循环后移5次,为1号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第1号段内的第4号块,即为3号块。
(9)用户在2018年5月时,同样访问逻辑地址为第16号块。由于是5月,因此段号循环后移5次,为1号段。由于是2018年,因此块号向后移2018次,即为段内的5号块。综合以上,该块的物理地址为第1号段内的第5号块,即为4号块。
(10)类似地,逻辑地址为22的块,其在2017年3月时的物理地址为29号块,在2017年4月时的物理地址为9号块,在2017年5月时的物理地址为19号块,在2018年6月时的物理地址为10号块。
本发明的一个实施例中提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。
在本实施例中,例如,将非易失性内存从逻辑上划分为n个第一物理单位,其尺寸为N;每个第一物理单位划分为m个第二物理单位其尺寸为M;每个第二物理单位划分为k个第三物理单位,其尺寸为K……以此类推。
在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
在本实施例中,设置第一物理单位的轮换时间周期为A,第二物理单位的轮换时间周期为B,第三物理单位的轮换时间周期为C……以此类推。在本实施例中,例如,当时间周期A到达时,将n个第一物理单位进行换位;当时间周期B到达时,将每个第一物理单位中的m个第二物理单位进行轮换;当时间周期C到达时,将每个第二物理单位中的k个第三物理单位进行轮换……以此类推,轮换后的数据位置发生变化,具体如图2所示。
在本实施例中,轮换的物理单位包括但不限于:(1)段;(2)块;(3)页;(4)若干字节(B);(5)若干千字节(KB);(6)若干兆字节(MB);(7)若干吉字节(GB);(8)以及其他内存容量单位。轮换的时间单位包括但不限于:(1)若干年;(2)若干季度;(3)若干月;(4)若干周;(5)若干日;(6)若干小时;(7)若干分钟;(8)若干秒;(9)及其他农历、藏历时间单位。轮换的方式包括但不限于:(1)顺序式逐一轮换;(2)逆序式逐一轮换;(3)顺序式跳跃轮换;(4)逆序式跳跃轮换;(5)伪随机轮换;(6)其他轮换方式。
根据本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果,与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种面向非易失性内存的磨损均衡及访问方法,其特征在于,包括:
将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;
在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
2.根据权利要求1所述的方法,其特征在于,所述将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,包括:
将所述每个第q级别的物理单位的数据拷贝至所述非易失性内存的其他空闲位置或其他内外存,并按所述每个第q级别的物理单位的数据轮换后的位置,从所述非易失性内存的其他空闲位置或其他内外存拷贝至所述非易失性内存。
3.根据权利要求1所述的方法,其特征在于,所述将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,包括:
将一个第q级别的物理单位的数据拷贝至所述非易失性内存的其他空闲位置或其他内外存,并逐个将其他第q级别的物理单位的数据拷贝至所述非易失性内存中上一拷贝数据的位置,以及将所述非易失性内存的其他空闲位置或其他内外存中的数据拷贝至所述非易失性内存中上一拷贝数据的位置。
4.根据权利要求1所述的方法,其特征在于,在所述将每个第q级别的物理单位的数据更换至其他第q级别的物理单位之前,还包括:
根据当前的工作场景,设置所述第q级别的物理单位对应的时间周期。
5.根据权利要求1所述的方法,其特征在于,还包括:
在用户访问所述非易失性内存时,将第q级别的n个物理单位中的第a个物理单位的逻辑地址设置为(x/Q+y/A)%n,其中x为所述非易失性内存的逻辑地址,Q为每个第q级别的物理单位的尺寸,y为所述用户的访问时间,A为所述第q级别的物理单位对应的时间周期。
6.一种面向非易失性内存的磨损均衡及访问设备,其特征在于,包括非易失性内存、处理器;
所述处理器用于执行面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:
将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;
在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
7.根据权利要求6所述的设备,其特征在于,在所述将每个第q级别的物理单位的数据更换至其他第q级别的物理单位中,所述处理器用于执行所述面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:
将所述每个第q级别的物理单位的数据拷贝至所述非易失性内存的其他空闲位置或其他内外存,并按所述每个第q级别的物理单位的数据轮换后的位置,从所述非易失性内存的其他空闲位置或其他内外存拷贝至所述非易失性内存。
8.根据权利要求6所述的设备,其特征在于,在所述将每个第q级别的物理单位的数据更换至其他第q级别的物理单位中,所述处理器用于执行所述面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:
将一个第q级别的物理单位的数据拷贝至外存或内存,并逐个将其他第q级别的物理单位的数据拷贝至所述非易失性内存中上一拷贝数据的位置,以及将所述非易失性内存的其他空闲位置或其他内外存中的数据拷贝至所述非易失性内存中上一拷贝数据的位置。
9.根据权利要求6所述的设备,其特征在于,在所述将每个第q级别的物理单位的数据更换至其他第q级别的物理单位之前,所述处理器还用于执行所述面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:
根据当前的工作场景,设置所述第q级别的物理单位对应的时间周期。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;
在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。
CN201810824443.0A 2018-07-20 2018-07-25 面向非易失性内存的磨损均衡及访问方法、设备和存储介质 Active CN108920386B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US17/261,566 US11320989B2 (en) 2018-07-20 2019-04-01 Wear leveling and access method and device for non-volatile memory, and storage medium
RU2021101729A RU2767141C1 (ru) 2018-07-20 2019-04-01 Способ и устройство для выравнивания износа и доступа к энергонезависимой памяти
JP2021503050A JP7110479B2 (ja) 2018-07-20 2019-04-01 不揮発性メモリ向けのウェアレベリング及びアクセス方法、デバイス及び記憶媒体
EP19837189.0A EP3825856B1 (en) 2018-07-20 2019-04-01 Wear leveling and access method and device for non-volatile memory, and storage medium
PCT/CN2019/080815 WO2020015385A1 (zh) 2018-07-20 2019-04-01 面向非易失性内存的磨损均衡及访问方法、设备和存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810802096 2018-07-20
CN2018108020961 2018-07-20

Publications (2)

Publication Number Publication Date
CN108920386A true CN108920386A (zh) 2018-11-30
CN108920386B CN108920386B (zh) 2020-06-26

Family

ID=64418021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810824443.0A Active CN108920386B (zh) 2018-07-20 2018-07-25 面向非易失性内存的磨损均衡及访问方法、设备和存储介质

Country Status (6)

Country Link
US (1) US11320989B2 (zh)
EP (1) EP3825856B1 (zh)
JP (1) JP7110479B2 (zh)
CN (1) CN108920386B (zh)
RU (1) RU2767141C1 (zh)
WO (1) WO2020015385A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020015385A1 (zh) * 2018-07-20 2020-01-23 中兴通讯股份有限公司 面向非易失性内存的磨损均衡及访问方法、设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US20070255889A1 (en) * 2006-03-22 2007-11-01 Yoav Yogev Non-volatile memory device and method of operating the device
CN105068938A (zh) * 2015-08-12 2015-11-18 华中科技大学 一种基于多层单元的非易失内存的磨损均衡方法
CN105117175A (zh) * 2015-08-18 2015-12-02 重庆大学 一种基于软件编译层的可变电阻式存储器磨损均衡方法
CN107193646A (zh) * 2017-05-24 2017-09-22 中国人民解放军理工大学 一种基于混合主存架构的高效动态页面调度方法
US20170286293A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Wear leveling based on a swapping operation between sets of physical block addresses of a non-volatile memory
CN107918530A (zh) * 2018-01-12 2018-04-17 江苏华存电子科技有限公司 一种非易失性存储器的磨损均衡方法和装置
US20180107386A1 (en) * 2016-10-18 2018-04-19 SK Hynix Inc. Data storage device and operating method thereof

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07122083A (ja) * 1993-10-20 1995-05-12 Mitsubishi Electric Corp 不揮発性半導体記憶装置
FR2787601A1 (fr) 1998-12-22 2000-06-23 Gemplus Card Int Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire
US20030163633A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
WO2004040586A1 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
US9207876B2 (en) * 2007-04-19 2015-12-08 Microsoft Technology Licensing, Llc Remove-on-delete technologies for solid state drive optimization
CN101354681B (zh) * 2008-09-23 2010-12-01 美商威睿电通公司 存储器系统、非易失性存储器的磨损均衡方法及装置
US9569349B2 (en) * 2008-12-19 2017-02-14 Ati Technologies Ulc Method and apparatus for reallocating memory content
JP2012014400A (ja) 2010-06-30 2012-01-19 Toshiba Corp 半導体メモリ装置および半導体メモリシステム
US9348743B2 (en) 2013-02-21 2016-05-24 Qualcomm Incorporated Inter-set wear-leveling for caches with limited write endurance
US10235058B2 (en) * 2013-12-12 2019-03-19 Commissariat à l'énergie atomique et aux énergies alternatives System and method for managing wear of an electronic memory
US9830087B2 (en) * 2014-11-13 2017-11-28 Micron Technology, Inc. Memory wear leveling
US9811456B2 (en) * 2014-11-26 2017-11-07 Advanced Micro Devices, Inc. Reliable wear-leveling for non-volatile memory and method therefor
US10049717B2 (en) * 2016-03-03 2018-08-14 Samsung Electronics Co., Ltd. Wear leveling for storage or memory device
US9842059B2 (en) * 2016-04-14 2017-12-12 Western Digital Technologies, Inc. Wear leveling in storage devices
KR102664704B1 (ko) * 2016-10-24 2024-05-14 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
CN106598484A (zh) * 2016-11-17 2017-04-26 华为技术有限公司 数据的存储方法、闪存芯片以及存储装置
CN108920386B (zh) * 2018-07-20 2020-06-26 中兴通讯股份有限公司 面向非易失性内存的磨损均衡及访问方法、设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US20070255889A1 (en) * 2006-03-22 2007-11-01 Yoav Yogev Non-volatile memory device and method of operating the device
CN105068938A (zh) * 2015-08-12 2015-11-18 华中科技大学 一种基于多层单元的非易失内存的磨损均衡方法
CN105117175A (zh) * 2015-08-18 2015-12-02 重庆大学 一种基于软件编译层的可变电阻式存储器磨损均衡方法
US20170286293A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Wear leveling based on a swapping operation between sets of physical block addresses of a non-volatile memory
US20180107386A1 (en) * 2016-10-18 2018-04-19 SK Hynix Inc. Data storage device and operating method thereof
CN107958690A (zh) * 2016-10-18 2018-04-24 爱思开海力士有限公司 数据存储装置及其操作方法
CN107193646A (zh) * 2017-05-24 2017-09-22 中国人民解放军理工大学 一种基于混合主存架构的高效动态页面调度方法
CN107918530A (zh) * 2018-01-12 2018-04-17 江苏华存电子科技有限公司 一种非易失性存储器的磨损均衡方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020015385A1 (zh) * 2018-07-20 2020-01-23 中兴通讯股份有限公司 面向非易失性内存的磨损均衡及访问方法、设备和存储介质

Also Published As

Publication number Publication date
RU2767141C1 (ru) 2022-03-16
CN108920386B (zh) 2020-06-26
EP3825856B1 (en) 2023-09-13
JP7110479B2 (ja) 2022-08-01
WO2020015385A1 (zh) 2020-01-23
EP3825856A1 (en) 2021-05-26
EP3825856A4 (en) 2022-05-04
JP2021530810A (ja) 2021-11-11
US20210271398A1 (en) 2021-09-02
US11320989B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
US11036580B2 (en) Metadata hardening and parity accumulation for log-structured arrays
KR101852668B1 (ko) 어드레스 매핑
US10521131B2 (en) Storage apparatus and storage control apparatus
US6219752B1 (en) Disk storage data updating method and disk storage controller
US8898541B2 (en) Storage controller, storage device, information processing system, and storage controlling method
CN106484761B (zh) 用于改进储存日志的方法和系统
US10990528B2 (en) Methods and systems for managing physical information of memory units in a memory device
CN108733510A (zh) 数据储存装置及映射表重建方法
EP2626792A1 (en) Wear leveling method, memory device, and information system
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
KR20100017094A (ko) 플래시 메모리에 메타데이터를 효율적으로 저장하는 방법
GB2537012A (en) System and method for copy on write on an SSD
CN109491605A (zh) 一种基于cow的数据存储方法、装置和介质
CN108920386A (zh) 面向非易失性内存的磨损均衡及访问方法、设备和存储介质
CN109542349A (zh) 一种数据块处理方法、装置和计算机可读存储介质
CN110083310A (zh) 一种存储集群中集群数据保存方法、装置及存储集群系统
US9286936B1 (en) Zone based band mapping
US10565057B2 (en) Indirection-based storage system backups using markers including sets of serial numbers associated with segments
US10338850B2 (en) Split-page queue buffer management for solid state storage drives
EP3106992A1 (en) Apparatus and method for performing cache management in a storage system
CN106326034A (zh) 一种数据备份的存储方法及装置
US20180189185A1 (en) Media cache band cleaning
WO2023088538A1 (en) Storage controller and a method for improved memory handling
US20140258610A1 (en) RAID Cache Memory System with Volume Windows
US8364905B2 (en) Storage system with middle-way logical volume

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