CN102004701B - 一种次级内存的分配方法和装置 - Google Patents

一种次级内存的分配方法和装置 Download PDF

Info

Publication number
CN102004701B
CN102004701B CN 200910189918 CN200910189918A CN102004701B CN 102004701 B CN102004701 B CN 102004701B CN 200910189918 CN200910189918 CN 200910189918 CN 200910189918 A CN200910189918 A CN 200910189918A CN 102004701 B CN102004701 B CN 102004701B
Authority
CN
China
Prior art keywords
page
physical memory
memory
intact
physical
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.)
Expired - Fee Related
Application number
CN 200910189918
Other languages
English (en)
Other versions
CN102004701A (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.)
JUCAI MICRO DEVICES (SHENZHEN) CO Ltd
Original Assignee
JUCAI MICRO DEVICES (SHENZHEN) CO Ltd
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 JUCAI MICRO DEVICES (SHENZHEN) CO Ltd filed Critical JUCAI MICRO DEVICES (SHENZHEN) CO Ltd
Priority to CN 200910189918 priority Critical patent/CN102004701B/zh
Priority to PCT/CN2010/076390 priority patent/WO2011023121A1/zh
Priority to EP10811281A priority patent/EP2431881A4/en
Publication of CN102004701A publication Critical patent/CN102004701A/zh
Priority to US13/341,256 priority patent/US9047186B2/en
Application granted granted Critical
Publication of CN102004701B publication Critical patent/CN102004701B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明适用于存储器领域,提供一种次级内存的分配方法和装置,该方法包括:按照预设的分页大小对次级内存进行分页处理,将次级内存处理成多个大小为预设的分页大小的物理内存页;以预设的分页大小为单位,扫描次级内存,记录每个物理内存页的物理地址和损坏程度;在接收到物理内存申请请求时,获取物理内存页的分配情况,并根据记录的物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配物理内存。本发明通过对次级内存进行扫描,并记录每个物理内存页的物理地址和损坏程度,根据物理内存页的物理地址和损坏程度以及分配情况分配内存,以主动避开严重损坏的物理内存页,最大程度使用轻度损坏的物理内存页,从而提高次级内存的使用效率。

Description

一种次级内存的分配方法和装置
技术领域
本发明属于存储器领域,尤其涉及一种次级内存的分配方法和装置。
背景技术
一个典型的微控制器组成结构如图1所示,操作系统一般通过MMU(Memory Management Unit,内存管理单元)对物理内存进行管理,应用程序一般运行于逻辑地址空间,而不直接访问物理内存。
现代操作系统一般对物理内存进行分页管理,页大小可以为1Kbyte、4Kbyte、16Kbyte、1M byte等。创建应用程序时,操作系统一般只给当前代码访问到的页面分配一页物理内存并映射到应用程序的逻辑地址空间。当应用程序当前访问到的逻辑地址页面不在物理内存中时,便会触发某种形式的异常,由操作系统异常处理程序分配一页空闲的物理内存并做好相应的页表映射,这样应用程序就可以继续运行了。
在嵌入式系统中,通常有些片上设备或者片外设备需要直接和内存进行数据交换(写入内存数据或者从内存读取数据),这类直接存储器存取(DirectMemory Access,DMA)操作一般不经过微控制器的MMU,因此无法感知微控制器的分页映射机制,所以这类操作通常需要直接访问连续的物理地址空间。
在电子系统中,内存一般是作为程序的执行空间而存在的。程序的代码段、数据段、堆栈空间等一般都运行于内存中。对程序的代码段来说,存储其的内存空间不能有1bit的损坏,如果有损坏就会改变对应的指令码,当程序执行到此指令时就会发生不可预料的错误;对程序的数据段和堆栈空间来说,存储其的内存空间如果有损坏,不一定会导致程序流程出错。比如损坏的数据只是用来输出到显示屏上的数据,则至多就是显式屏上的一个色点显示非正常。但是如果损坏的数据正好是一个程序的判断条件,则此损坏的数据就会导致程序的执行流程出错。
综上所述,电子系统可以兼容次级内存,其中次级内存是指存在坏点的内存,现有的次级内存兼容方法大都采用硬件兼容的方式,通过对内存芯片的地址线或者数据线进行切割,将大容量的内存芯片“降级”成小容量内存芯片使用,或者将数片次级内存抽象为1片完好内存使用,这种内存兼容方法成本高、使用效率低。
发明内容
本发明实施例的目的在于提供一种次级内存的分配方法,旨在解决现有的次级内存分配方法成本高、使用效率低的问题。
本发明实施例是这样实现的,一种次级内存的分配方法,所述方法包括:
A、按照预设的分页大小对次级内存进行分页处理,将次级内存处理成多个大小为预设的分页大小的物理内存页;
B、以预设的分页大小为单位,扫描次级内存,记录每个物理内存页的物理地址和损坏程度;
C、在接收到申请物理内存的请求时,获取物理内存页的分配情况,并根据记录的次级内存中物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配次级内存中的物理内存。
本发明实施例的另一目的在于提供一种次级内存分配装置,所述装置包括:
分页处理单元,用于按照预设的分页大小对次级内存进行分页处理,将次级内存处理成多个大小为预设的分页大小的物理内存页;
内存扫描单元,用于以预设的分页大小为单位,扫描所述分页处理单元处理后的次级内存,记录每个物理内存页的物理地址和损坏程度;
内存分配单元,用于在接收到物理内存申请请求时,获取物理内存页的分配情况,并根据内存扫描单元记录的次级内存中物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配次级内存中的物理内存。
在本发明实施例中,按照预设的页大小对次级内存进行分页处理,以页为单位,扫描次级内存,并记录每个物理内存页的物理地址和损坏程度,根据物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配物理内存,以主动避开严重损坏的物理内存页,最大程度使用轻度损坏的物理内存页,从而提高次级内存的使用效率。通过对物理内存页进行分级处理,并根据物理内存页的损坏级别分配内存,从而提高次级内存的使用效率。通过对不同损坏级别物理内存页的区域进行从小到大排序,普通内存分配按照从小到大的方向进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行分配;对大于阀值的连续物理内存申请按照从大到小的方向进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从高地址到低地址的顺序进行分配,从而提高申请连续物理内存的成功率。
附图说明
图1是现有技术提供的微控制器的结构框图;
图2是本发明实施例提供的次级内存的分配方法的实现流程图;
图3是本发明实施例提供的扫描次级内存后,记录的次级内存中物理内存页的损坏程度、物理地址和分配情况的示意图;
图4是本发明实施例提供的对图3所示的完好内存区域和次完好内存区域进行从小到大排序的示意图;
图5是本发明实施例提供的根据物理内存页的损坏程度将物理内存页映射为逻辑地址连续的存储空间的示意图;
图6是本发明实施例提供的次级内存分配装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,按照预设的分页大小对次级内存进行分页处理,以预设的分页大小对次级内存进行扫描,并记录每个物理内存页的物理地址和损坏程度,根据物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配内存,以主动避开严重损坏的物理内存页,最大程度使用轻度损坏的物理内存页,从而提高次级内存的使用效率。
图2示出了本发明实施例提供的次级内存的分配方法的实现流程,详述如下:
在步骤S201中,按照预设的分页大小对次级内存进行分页处理,将次级内存分为多个大小为预设的分页大小的物理内存页。
在本发明实施例中,预设的分页大小P可以根据分配该次级内存的终端的硬件以及操作系统可以支持的分页大小进行设置。
在步骤S202中,以预设的分页大小为单位,扫描次级内存,并记录每个物理内存页的物理地址和损坏程度。其中物理内存页的损坏程度是指检测到的该物理内存页中的坏点数量。
由于当某一物理内存页被占用时,则无论该物理内存页是否损坏,均不能将该内存分配给应用程序,否则将造成混乱,因此,在分配物理内存时,标记物理内存页的分配情况,其中物理内存页的分配情况可以为未占用或者已占用。
在本发明实施例中,在以预设的分页大小P为单位,对次级内存进行扫描时,可以检测到每个物理内存页的物理地址和坏点的数量,根据检测到的每个物理内存页的坏点数量即可确定该物理内存页的损坏程度。
在电子系统中,内存一般是作为应用程序的执行空间而存在的,应用程序的代码段、数据段、堆栈空间等一般都运行于内存中。对于应用程序的代码段来说,只要用于存储应用程序的代码段的内存空间有损坏,将造成应用程序流程发生错误,从而造成不可预料的错误,因此,为了避免应用程序的流程发生不可预料的错误,用于存储应用程序的代码段的内存空间不允许有任何的损坏。而对于应用程序的数据段和堆栈空间来说,用于存储应用程序的数据段和堆栈空间的内存如果有损坏,则不一定导致应用程序的流程发生错误,如损坏的数据只是用来输出到显示屏上的数据,则只会导致显示屏上的一个色点显示非正常,而不会导致应用程序的流程发生错误,当然如果被损坏的数据是一个程序的判断条件,则会导致程序流程出错。
根据上述内存的存储需要,为了提高次级内存的使用效率,在本发明实施例中,该方法还包括下述步骤:
根据物理内存页的损坏程度和预设的物理内存页分级标准,对物理内存页进行分级处理,得到每个物理内存页的损坏级别。其中物理内存页分级标准可以根据电子系统中内存的分配情况进行设置,如可以将物理内存页分为不包括任何坏点的完好页、存在小于或者等于预设数量坏点的次完好页和存在大于预设数量坏点的损坏页三个损坏级别。当然,物理内存页分级标准还可以为其他形式,不以上述设置方式为限。
当物理内存页分级标准为完好页、次完好页和损坏页时,则根据次级内存中每一物理内存页的损坏程度对物理内存页进行分级处理后,即可得到该物理内存页的损坏级别,为完好页、次完好页或者损坏页。
为了便于说明,在本发明实施例的以下说明中,以将物理内存页处理成完好页、次完好页和损坏页三个损坏级别为例。
由于在电子系统中,用于存储应用程序的代码段以及部分数据段和堆栈空间的内存不允许任何的损坏,因此,每一个电子系统均有其自身可以兼容的次级内存的限度,举例说明如下,如果电子系统中用于存储应用程序的代码段以及部分数据段和堆栈空间的不允许任何损坏的内存空间为3M,而扫描后,该次级内存中没有任何损坏的内存空间小于3M,则无论采用何种次级内存分配方法均难以兼容该次级内存,因此,为了避免上述问题,在本发明另一实施例中,在以预设的分页大小为单位,对次级内存进行扫描的步骤之后,所述方法还包括下述步骤:
A、预先设置电子系统可兼容的次级内存的阈值。
当物理内存页分级标准为完好页、次完好页和损坏页时,需要预先设置的电子系统可兼容的次级内存的阈值包括最大完好内存使用量L、最大次完好内存的内存使用量L1、最大完好连续物理内存使用量N和最大次完好连续物理内存使用量N1。其中L、L1、N、N1均为P的整数倍。P为预设的物理内存页的分页大小。
B、根据扫描得到的次级内存的损坏程度与预设的电子系统可以兼容的次级内存阈值,判断电子系统是否可兼容该次级内存。
当物理内存页分级标准为完好页、次完好页和损坏页时,在扫描次级内存时,获取该次级内存中所有完好页的总内存容量L’,所有次完好页的总内存容量L1’,最大的连续完好页区域的内存容量N’,以及最大的连续次完好页区域的内存容量N1’。根据扫描得到的次级内存的损坏程度与预设的电子系统可以兼容的次级内存的阈值,判断电子系统是否兼容该次级内存的具体过程如下:
判断如下关系是否成立:
a、L’>=L。
b、N’>=N。
c、L’+L1’>=L+L1。
d、N’+N1’>=N+N1。
当上述关系均成立时,则判定电子系统可以兼容该次级内存,此时,记录物理内存页的物理地址和损坏程度,否则,判定电子系统不兼容该次级内存,并提示此次级内存损坏过于严重,电子系统不能兼容。
请参阅图3,为本发明实施例提供的扫描次级内存后,记录的次级内存中物理内存页的物理地址、损坏程度和分配情况的示意图,在此示意图中,采用2bit记录物理内存页的物理地址、损坏程度和分配情况,其中0b00表示完好未占用物理内存页,0b01表示完好已占用物理内存页,0b10表示次完好未占用物理内存页,0b11表示完好已占用或者已损坏物理内存页,其中第一行表示物理内存页的损坏程度和分配情况,第二行表示物理内存页的物理地址。
在步骤S203中,在接收到申请物理内存的请求时,获取物理内存页的分配情况,并根据记录的次级内存中物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配物理内存。
由于当某一物理内存页已被分配,即其处于被占用状态时,则无论该物理内存页是否损坏,均不能将该内存分配给应用程序,否则将造成混乱,因此,在分配物理内存时,标记物理内存页的分配情况,其中物理内存页的分配情况可以为未占用或者已占用。当物理内存页已被分配时,即该物理内存页已被占用,则标记物理内存页的分配情况为已占用,在接收到物理内存申请请求时,获取物理内存页的分配情况,并根据记录的次级内存中物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配物理内存。
在本发明实施例中,当接收到申请物理内存的请求,如接收到某应用程序的申请物理内存的请求时,将次级内存中物理内存页的坏点数量小于或者等于预设数量的物理内存页分配给即使对应内存页损坏也不会导致应用程序流程转变的内存申请使用,如即使对应内存页损坏也不会导致应用程序的流程转变的数据段或者堆栈空间,而将次级内存中不存在坏点的物理内存页分配给如果对应的内存页损坏会导致应用程序流程转变的内存申请使用,如应用程序的代码段以及如果对应的内存页损坏可导致应用程序的流程转变的数据段或堆栈空间。
而当对次级内存中的物理内存页进行了分级处理,得到物理内存页的损坏级别时,在分配物理内存时,根据次级内存中物理内存页的损坏级别分配物理内存。如将次级内存中的次完好页分配给即使对应内存页损坏也不会导致应用程序流程转变的内存申请使用,如即使对应内存页损坏也不会导致的流程转变的数据段或者堆栈空间,而将次级内存中的完好页分配给如果对应的内存页损坏会导致应用程序流程转的内存申请使用,如应用程序的代码段以及如果对应的内存页损坏可导致应用程序的流程转变的数据段或堆栈空间。为了提高申请连续物理内存的成功率,在本发明另一实施例中,根据记录的次级内存中物理内存页的物理地址、损坏程度以及分配情况分配物理内存的步骤具体为:
A、根据电子系统中内存的分配情况,设置申请连续同损坏级别物理内存页的阈值M;
当对次级内存中的物理内存页进行了分级处理,得到物理内存页的损坏级别为完好页、次完好页和损坏页时,设置申请连续完好物理内存的阈值K和申请连续次完好物理内存的阈值K1。
B、当接收到用于请求单一的任一损坏级别物理内存页的申请请求时,对该损坏级别物理内存页的区域按照从小到大的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行检索,并分配空闲的所述损坏级别物理内存页,当不存在空闲的物理内存页时,返回内存申请失败并给出相应提示;
当将物理内存页分为完好页、完好页次完好页和损坏页三个损坏级别时,则在接收到用于请求单一的完好或者次完好页的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从小到大的顺序进行检索,在检索到符合要求的完好页的区域或者次完好页的区域时,按照从低地址到高地址的顺序进行检索,并分配空闲的完好页或者次完好页,当不存在空闲的内存时,返回内存申请失败并给出相应提示;
请参阅图4,是本发明实施例提供的对图3所示的完好页的区域和次完好页的区域进行从小到大排序的示意图。
C、当接收到用于请求小于或者等于M的连续同损坏级别物理内存页的申请请求时,对同损坏级别物理内存页的区域按照从小到大的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行检索,并分配满足条件的连续同损坏级别物理内存页,当不存在满足条件的内存时,返回内存申请失败并给出相应提示;
当将物理内存页分为完好页、完好页次完好页和损坏页三个损坏级别时,则在接收到用于请求小于或者等于K或者K1的连续完好内存或者次完好内存的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从小到大的顺序进行检索,在检索到符合要求的完好页的区域或者次完好页的区域时,按照从低地址到高地址的顺序进行检索,并分配满足条件的连续完好页或者次完好页,当不存在满足条件的内存时,返回内存申请失败并给出相应提示;
D、当接收到用于请求大于M的连续同损坏级别物理内存页的申请请求时,对同损坏级别内存页的区域按照从大到小的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从高地址到低地址的顺序进行检索,并分配满足条件的连续同损坏级别物理内存页,当不存在满足条件的内存时,返回内存申请失败并给出相应提示;
当将物理内存页分为完好页、完好页次完好页和损坏页三个损坏级别时,则在接收到用于请求大于K或者K1的连续完好内存或者次完好内存的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从大到小的顺序进行检索,在检索到符合要求的完好页的区域或者次完好页的区域时,按照从高地址到低地址的顺序进行检索,并分配满足条件的连续完好页或者次完好页,当不存在满足条件的内存时,返回内存申请失败并给出相应提示;
E、更新物理内存页的分配情况,并且当申请的是逻辑地址空间内存时,将分配的物理内存页映射到此逻辑地址空间。如将分配的物理内存页标记为“已占用”。
请参阅图5,为本发明实施例提供的根据物理内存页的损坏程度将物理内存页映射为逻辑地址连续的存储空间的示意图。
以下以系统引导阶段的物理内存申请为例,详述上述内存分配过程,在该例中,次级内存的物理内存页的损坏程度分为完好页、次完好页和损坏页:
在系统引导阶段读取记录的次级内存中物理内存页的物理地址、损坏程度和分配情况的表,并对次级内存的完好页的区域和次完好页的区域按照从小到大的顺序进行排序,且每种完好页的区域和次完好页的区域内再按照从低地址到高地址的顺序进行排序,如图4所示。系统引导程序读取操作系统镜像所占用的内存大小,并按照从小到大的完好页的区域和次完好页的区域顺序,且在同一完好页的区域和次完好页的区域按照从低地址到高地址的顺序依次为操作系统分配完好页和次完好页,将操作系统加载到分配的物理内存页中并作好相应的页表映射,更新表中已使用的物理内存页的对应分配情况。最后系统引导程序将此更新后的物理内存页的物理地址、损坏程度和分配情况的表传递给操作系统,开启内存映射机制并跳转到操作系统入口地址。
综上所述,本发明实施例提供的次级内存的分配方法,包括下述步骤:
A、按照预设的分页大小对次级内存进行分页处理,将次级内存处理成多个大小为预设的分页大小的物理内存页;
B、以预设的分页大小为单位,扫描次级内存,记录每个物理内存页的物理地址和损坏程度;
C、在接收到物理内存申请请求时,获取物理内存页的分配情况,并根据记录的次级内存中物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配物理内存。
图6示出了本发明实施例提供的次级内存分配装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。该次级内存分配装置可以是内置于任意需要使用内存的电子设备中的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到任意需要使用内存的电子设备中或者电子设备的应用系统中。其中:
存储单元61存储预设的次级内存的分页大小。在本发明实施例中,该存储单元61还存储预设的物理内存页分级标准、可兼容的次级内存的阈值、申请连续同损坏级别物理内存的阈值中的一种或者多种。
其中物理内存页分级标准是指根据物理内存页的损坏程度将物理内存页分成多个损坏级别,如可以将物理内存页分为不包括任何坏点的完好页、存在小于或者等于预设数量坏点的次完好页和存在大于预设数量坏点的损坏页三个损坏级别,当然,也可以根据电子系统的内存分配情况,将物理内存页分为更多个或者更少个损坏级别。
可兼容的次级内存的阈值是指该电子系统中可以兼容的次级内存的阈值。如当将物理内存页分为完好页、次完好页和损坏页三个损坏级别时,则根据电子系统中内存的分配情况,预设可兼容的次级内存的阈值如下:包括最大完好页的总内存使用量L、最大次完好页的总内存使用量L1、最大的连续完好页区域的内存使用量N和最大的连续次完好页的内存使用量N1。其中L、L1、N、N1均为P的整数倍。其中P为预设的次级内存中物理内存页的分页大小。
为了最大限度的避免内存碎片,预先设置申请连续同损坏级别物理内存的阈值。如当将物理内存页分为完好页、次完好页和损坏页三个损坏级别时,则根据电子系统中内存的分配情况,预设申请连续同损坏级别物理内存的阈值如下:设置申请连续完好物理内存的阈值K和申请连续次完好内存的阈值K1。
分页处理单元62按照预设的分页大小对次级内存进行分页处理,将次级内存分为多个大小为预设的分页大小的物理内存页。
内存扫描单元63以预设的分页大小为单位,扫描分页处理单元62处理后的次级内存,记录每个物理内存页的物理地址和损坏程度。其中物理内存页的损坏程度是指检测到的该物理内存页中的坏点数量。
为了提高次级内存的使用效率,在本发明实施例中,该装置还包括内存分级处理单元65。该内存分级处理单元65根据内存扫描单元63记录的物理内存页的损坏程度以及存储单元61存储的物理内存页分级标准对次级内存中的物理内存页进行分级处理,得到物理内存页的损坏级别。此时内存分配单元64在接收到物理内存申请请求时,根据内存分级处理单元65得到的物理内存页的损坏级别分配物理内存。
如当物理内存页分级标准为完好页、次完好页和损坏页时,则内存分级处理单元65根据检测到的物理内存页中的坏点数量将内存分为完好页、次完好页和损坏页三个损坏级别。
由于在电子系统中,用于存储应用程序的代码段以及部分数据段和堆栈空间的内存不允许任何的损坏,因此,每一个电子系统均有其自身可以兼容的次级内存的限度,因此,为了避免电子系统中的应用程序的流程发生不可预料的错误,在本发明另一实施例中,该装置还包括内存兼容判断单元66。该内存兼容判断单元66根据存储单元61存储的电子系统可兼容的次级内存的阈值以及内存扫描单元63得到的次级内存的损坏程度判断电子系统是否可兼容该次级内存。
当物理内存页分级标准为完好页、次完好页和损坏页时,则预先设置最大完好页的总内存使用量L、最大次完好页的总内存使用量L1、最大的连续完好页区域的内存使用量N和最大的连续次完好页区域的内存使用量N1,此时根据内存扫描单元63扫描得到的该次级内存的损坏程度如下时:该次级内存中所有完好页的总内存容量L’,所有完好页次完好页的总内存容量L1’,最大的连续完好页区域的内存容量N’,以及最大的连续完好页次完好页区域的内存容量N1’,内存兼容判断单元66判断如下关系是否成立,当如下关系成立时,判定电子系统可以兼容该次级内存,否则,判定电子系统不兼容该次级内存:
a、L’>=L。
b、N’>=N。
c、L’+L1’>=L+L1。
d、N’+N1’>=N+N1。
当内存兼容判断单元66判定电子系统可以兼容该次级内存时,内存扫描单元63记录每个物理内存页的物理地址和损坏程度,当内存兼容判断单元66判定电子系统不兼容该次级内存时,提示此次级内存损坏过于严重,电子系统不能兼容。
内存分配单元64在接收到物理内存申请请求时,获取物理内存页的分配情况,并根据内存扫描单元63记录的物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配物理内存。
由于当某一物理内存页被占用时,则无论该物理内存页是否损坏,均不能将该内存分配给应用程序,否则将造成混乱,因此,该内存分配单元64根据物理内存页被占用的情况标记物理内存页的分配情况,并在接收到物理内存申请请求时,根据记录的次级内存中物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配物理内存。其中物理内存页的分配情况可以为未占用或者已占用。在本发明实施例中,当接收到物理内存申请请求,如接收到某应用程序的物理内存申请请求时,将次级内存中物理内存页的坏点数量小于或者等于预设数量的物理内存页分配给即使对应内存页损坏也不会导致应用程序流程转变的流程转变的内存申请使用,如即使对应内存页损坏也不会导致应用程序的流程转变的数据段或者堆栈空间,而将次级内存中不存在坏点的物理内存页分配给如果对应的内存页损坏会导致应用程序流程转变的内存申请使用,如应用程序的代码段以及如果对应的内存页损坏可导致应用程序的流程转变的数据段或堆栈空间。
当内存分级处理单元65对物理内存页进行了分级处理,得到物理内存页的损坏级别时,内存分配单元64在接收到物理内存申请请求时,根据内存分级处理单元65得到的物理内存页的损坏级别分配物理内存。
为了提高申请连续物理内存的成功率,在本发明另一实施例中,该内存分配单元64包括:
单一页面分配模块641在接收到用于请求单一的任一损坏级别物理内存页的申请请求时,对该损坏级别物理内存页的区域按照从小到大的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行检索,分配空闲的该损坏级别物理内存页,并更新分配的物理内存页的分配情况。在不存在空闲的物理内存页时,返回内存申请失败并给出相应提示;
当将物理内存页分为完好页、完好页次完好页和损坏页三个损坏级别时,则单一页面分配模块641在接收到用于请求单一的完好或者次完好页的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从小到大的顺序进行检索,在检索到符合要求的完好页的区域或者次完好页的区域时,按照从低地址到高地址的顺序进行检索,并分配空闲的完好页或者次完好页,并更新分配的物理内存页的分配情况。当不存在空闲的内存时,返回内存申请失败并给出相应提示;
第一连续内存分配模块642在接收到用于请求小于或者等于M的连续同损坏级别物理内存的申请请求时,对该损坏级别物理内存的区域按照从小到大的顺序进行检索,在检索到符合要求的该损坏级别物理内存的区域时,按照从低地址到高地址的顺序进行检索,并分配空闲的所述损坏级别物理内存,并更新分配的物理内存页的分配情况。在不存在满足条件的内存时,返回内存申请失败并给出相应提示。其中M为预设的申请连续同损坏级别物理内存页的阈值;
当将物理内存页分为完好页、次完好页和损坏页三个损坏级别时,第一连续内存分配模块642在接收到用于请求小于或者等于K或者K1的连续完好内存或者次完好内存的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从小到大的顺序进行检索,在检索到符合要求的完好页的区域或者次完好页的区域时,按照从低地址到高地址的顺序进行检索,并分配满足条件的连续完好页或者次完好页,并更新分配的物理内存页的分配情况。当不存在满足条件的内存时,返回内存申请失败并给出相应提示;
第二连续内存申请模块643在接收到用于请求大于M的连续同损坏级别物理内存的申请请求时,对所述损坏级别内存区域按照从大到小的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从高地址到低地址的顺序进行检索,并分配满足条件的连续同损坏级别物理内存页,并更新分配的物理内存页的分配情况。在不存在满足条件的内存时,返回内存申请失败并给出相应提示。其中M为预设的申请连续同损坏级别物理内存的阈值;
当将物理内存页分为完好页、完好页次完好页和损坏页三个损坏级别时,第二连续内存申请模块643在接收到用于请求大于K或者K1的连续完好内存或者次完好内存的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从大到小的顺序进行检索,在检索到符合要求的完好页的区域或者次完好页的区域时,按照从高地址到低地址的顺序进行检索,并分配满足条件的连续完好页或者次完好页,并更新分配的物理内存页的分配情况。当不存在满足条件的内存时,返回内存申请失败并给出相应提示;
内存映射模块644在申请的是逻辑地址空间内存时,将分配的物理内存页映射到此逻辑地址空间,同时更新物理内存页的分配情况。如将分配给申请者使用的物理内存页标记为“已占用”。
在本发明实施例中,按照预设的分页大小对次级内存进行分页处理,以预设的分页大小对次级内存进行扫描,并记录每个物理内存页的物理地址、损坏程度和分配情况,根据物理内存页的物理地址、损坏程度和分配情况分配内存,以主动避开严重损坏的物理内存页,最大程度使用轻度损坏的物理内存页,从而提高次级内存的使用效率。通过对物理内存页进行分级处理,并根据物理内存页的损坏级别分配内存,从而提高次级内存的使用效率。通过对不同损坏级别物理内存页的区域进行从小到大排序,普通内存分配按照从小到大的方向进行检索,在检索符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行分配,大于阀值的连续物理内存申请从大到小进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从高地址到低地址的顺序进行分配,从而提高申请连续物理内存的成功率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种次级内存的分配方法,其特征在于,所述方法包括:
A、按照预设的分页大小对次级内存进行分页处理,将次级内存处理成多个大小为预设的分页大小的物理内存页;
B、以预设的分页大小为单位,扫描次级内存,记录每个物理内存页的物理地址和损坏程度;
C、在接收到申请物理内存的请求时,获取物理内存页的分配情况,并根据记录的次级内存中物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配次级内存中的物理内存。
2.如权利要求1所述的方法,其特征在于,在以页为单位,扫描次级内存的步骤之后,所述方法还包括下述步骤:
根据扫描得到的次级内存的损坏程度与预设的电子系统可以兼容的次级内存阈值,判断电子系统是否可兼容所述次级内存。
3.如权利要求1所述的方法,其特征在于,在根据记录的次级内存中物理内存页的物理地址、损坏程度以及分配情况分配物理内存时,标记物理内存的分配情况。
4.如权利要求1至3任一权利要求所述的方法,其特征在于,在所述步骤C之前,所述方法还包括下述步骤:
C0、根据物理内存页的损坏程度和预设的物理内存页分级标准,对物理内存页进行分级处理,得到每个物理内存页的损坏级别。
5.如权利要求4所述的方法,其特征在于,所述步骤C具体包括:
C1、当接收到用于请求单一的任一损坏级别物理内存页的申请请求时,对所述损坏级别物理内存页的区域按照从小到大的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行检索,并分配空闲的所述损坏级别物理内存页;
C2、当接收到用于请求小于或者等于M的连续同损坏级别物理内存页的申请请求时,对所述损坏级别物理内存页的区域按照从小到大的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行检索,并分配满足条件的连续同损坏级别物理内存页,所述M为预设的申请连续同损坏级别物理内存页的阈值;
C3、当接收到用于请求大于M的连续同损坏级别物理内存页的申请请求时,对所述损坏级别物理内存页的区域按照从大到小的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从高地址到低地址的顺序进行检索,并分配满足条件的连续同损坏级别物理内存页,所述M为预设的申请连续同损坏级别物理内存页的阈值。
6.如权利要求5所述的方法,其特征在于,所述步骤C还包括:
C4、更新分配的物理内存页的分配情况,并且当申请的是逻辑地址空间内存时,将分配的物理内存页映射到此逻辑地址空间。
7.如权利要求4所述的方法,其特征在于,所述物理内存页的损坏级别包括完好页、次完好页和损坏页。
8.如权利要求7所述的方法,其特征在于,所述步骤C0具体包括:
通过判断如下关系是否均成立来判断电子系统是否可分配该次级内存:
L’>=L;N’>=N;L’+L1’>=L+L1;N’+N1’>=N+N1,其中L’为该次级内存中所有完好页的总内存容量,L1’为次级内存中所有次完好页的总内存容量,N’为次级内存中最大的连续完好页区域的内存容量,N1’为次级内存中最大的连续次完好页区域的内存容量,L为预先设置的电子系统可兼容的次级内存中最大完好页的总内存使用量,L1为预先设置的电子系统可兼容的次级内存中最大次完好页的总内存使用量,N为预先设置的电子系统可兼容的次级内存中最大的连续完好页区域的内存使用量,N1为预先设置的电子系统可兼容的次级内存中最大的连续次完好页的内存使用量。
9.如权利要求7所述的方法,其特征在于,所述步骤C具体包括:
C1’、在接收到用于请求单一的完好或者次完好页的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从小到大的顺序进行检索,在检索到符合要求的完好页的区域或者次完好页的区域时,按照从低地址到高地址的顺序进行检索,并分配空闲的完好页或者次完好页;
C2’、在接收到用于请求小于或者等于K或者K1的连续完好内存或者次完好内存的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从小到大的顺序进行检索,在检索到符合要求的完好页的区域或者次完好页的区域时,按照从低地址到高地址的顺序进行检索,并分配满足条件的连续完好页或者次完好页,其中K为预设的申请连续完好物理内存的阈值,K1为预设的申请连续次完好物理内存的阈值;
C3’、在接收到用于请求大于K或者K1的连续完好内存或者次完好内存的申请请求时,对次级内存的完好页的区域或者次完好页的区域按照从大到小的顺序进行检索,在检索到符合要求的完好页的区域或者次完好内存页的区域时,按照从高地址到低地址的顺序进行检索,并分配满足条件的连续完好页或者次完好页,其中K为预设的申请连续完好物理内存的阈值,K1为预设的申请连续次完好物理内存的阈值。
10.如权利要求9所述的方法,其特征在于,所述步骤C还包括:
C4’、更新物理内存页的分配情况,并且当申请的是逻辑地址空间内存时,将分配的物理内存页映射到此逻辑地址空间。
11.一种次级内存分配装置,其特征在于,所述装置包括:
分页处理单元,用于按照预设的分页大小对次级内存进行分页处理,将次级内存处理成多个大小为预设的分页大小的物理内存页;
内存扫描单元,用于以预设的分页大小为单位,扫描所述分页处理单元处理后的次级内存,记录每个物理内存页的物理地址和损坏程度;
内存分配单元,用于在接收到物理内存申请请求时,获取物理内存页的分配情况,并根据内存扫描单元记录的次级内存中物理内存页的物理地址和损坏程度以及物理内存页的分配情况分配次级内存中的物理内存。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
内存兼容判断单元,用于根据扫描得到的次级内存的损坏程度与预设的电子系统可以兼容的次级内存的阈值,判断电子系统是否可兼容该次级内存;和/或
内存分级处理单元,根据物理内存页的损坏程度和预设的物理内存页分级标准,对物理内存页进行分级处理,得到每个物理内存页的损坏级别。
13.如权利要求12所述的装置,其特征在于,所述内存分配单元包括:
单一页面分配模块,用于在接收到用于请求单一的任一损坏级别物理内存页的申请请求时,对所述损坏级别物理内存页的区域按照从小到大的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行检索,并分配空闲的所述损坏级别物理内存页,并更新物理内存页的分配情况;
第一连续内存分配模块,用于在接收到用于请求小于或者等于M的连续同损坏级别物理内存页的申请请求时,对所述损坏级别物理内存页的区域按照从小到大的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从低地址到高地址的顺序进行检索,并分配空闲的所述损坏级别物理内存页,并更新物理内存页的分配情况,所述M为预设的申请连续同损坏级别物理内存的阈值;
第二连续内存申请模块,用于在接收到用于请求大于M的连续同损坏级别物理内存页的申请请求时,对所述损坏级别内存页的区域按照从大到小的顺序进行检索,在检索到符合要求的该损坏级别物理内存页的区域时,按照从高地址到低地址的顺序进行检索,并分配满足条件的连续同损坏级别物理内存页,并更新物理内存页的分配情况,所述M为预设的申请连续同损坏级别物理内存的阈值。
CN 200910189918 2009-08-28 2009-08-28 一种次级内存的分配方法和装置 Expired - Fee Related CN102004701B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN 200910189918 CN102004701B (zh) 2009-08-28 2009-08-28 一种次级内存的分配方法和装置
PCT/CN2010/076390 WO2011023121A1 (zh) 2009-08-28 2010-08-26 一种次级内存的分配方法和装置
EP10811281A EP2431881A4 (en) 2009-08-28 2010-08-26 METHOD AND DEVICE FOR ASSIGNING A SECONDARY MEMORY
US13/341,256 US9047186B2 (en) 2009-08-28 2011-12-30 Allocation method and apparatus of moderate memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910189918 CN102004701B (zh) 2009-08-28 2009-08-28 一种次级内存的分配方法和装置

Publications (2)

Publication Number Publication Date
CN102004701A CN102004701A (zh) 2011-04-06
CN102004701B true CN102004701B (zh) 2013-01-09

Family

ID=43627276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910189918 Expired - Fee Related CN102004701B (zh) 2009-08-28 2009-08-28 一种次级内存的分配方法和装置

Country Status (4)

Country Link
US (1) US9047186B2 (zh)
EP (1) EP2431881A4 (zh)
CN (1) CN102004701B (zh)
WO (1) WO2011023121A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102650959B (zh) * 2012-03-31 2014-06-04 华为技术有限公司 一种检测内存单元的方法及设备
CN103984603B (zh) * 2012-03-31 2017-12-05 华为技术有限公司 一种检测内存单元的方法及设备
CN108595345B (zh) 2012-07-25 2021-11-23 慧荣科技股份有限公司 管理闪存中所储存的数据的方法及相关记忆装置与控制器
CN102968353B (zh) * 2012-10-26 2015-12-09 华为技术有限公司 一种失效地址处理方法及装置
CN103092709A (zh) * 2013-01-22 2013-05-08 浪潮电子信息产业股份有限公司 一种内存错误处理方法
TWI585778B (zh) * 2013-11-05 2017-06-01 威盛電子股份有限公司 非揮發性記憶體裝置的操作方法
JP6018725B2 (ja) * 2014-06-27 2016-11-02 華為技術有限公司Huawei Technologies Co.,Ltd. コントローラ、フラッシュメモリ装置及びデータをフラッシュメモリ装置に書き込む方法
KR20180085107A (ko) * 2017-01-17 2018-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336590A (zh) * 2000-07-27 2002-02-20 乔工科技股份有限公司 有缺陷的挥发性内存重新格式化的方法及其装置
CN1605101A (zh) * 2001-12-20 2005-04-06 皇家飞利浦电子股份有限公司 实时文件的分配

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561785A (en) * 1992-10-29 1996-10-01 International Business Machines Corporation System for allocating and returning storage and collecting garbage using subpool of available blocks
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
US7275190B2 (en) * 2004-11-08 2007-09-25 Micron Technology, Inc. Memory block quality identification in a memory device
WO2006123351A1 (en) * 2005-04-11 2006-11-23 Hewlett-Packard Development Company L.P. Tlb page fault handler and dump manager
EP1712985A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
US9092361B2 (en) * 2005-07-15 2015-07-28 Panasonic Intellectual Property Management Co., Ltd. Nonvolatile storage device, memory controller, and defective region detection method
US7478285B2 (en) * 2005-12-30 2009-01-13 Silicon Graphics, Inc. Generation and use of system level defect tables for main memory
WO2009072104A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
CN100565477C (zh) * 2007-12-06 2009-12-02 浙江科技学院 一种NAND Flash存储器的动态管理方法
JP4729062B2 (ja) * 2008-03-07 2011-07-20 株式会社東芝 メモリシステム
US9477587B2 (en) * 2008-04-11 2016-10-25 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
US7957187B2 (en) * 2008-05-09 2011-06-07 Sandisk Corporation Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
JP5439788B2 (ja) * 2008-10-03 2014-03-12 富士通株式会社 コンピュータ装置、及びメモリ用途設定プログラム
CN101740123B (zh) * 2008-11-10 2012-04-04 扬智科技股份有限公司 存储器的数据保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336590A (zh) * 2000-07-27 2002-02-20 乔工科技股份有限公司 有缺陷的挥发性内存重新格式化的方法及其装置
CN1605101A (zh) * 2001-12-20 2005-04-06 皇家飞利浦电子股份有限公司 实时文件的分配

Also Published As

Publication number Publication date
US9047186B2 (en) 2015-06-02
CN102004701A (zh) 2011-04-06
US20120137104A1 (en) 2012-05-31
EP2431881A1 (en) 2012-03-21
EP2431881A4 (en) 2012-12-26
WO2011023121A1 (zh) 2011-03-03

Similar Documents

Publication Publication Date Title
CN102004701B (zh) 一种次级内存的分配方法和装置
KR101752583B1 (ko) 트레이닝, 데이터 조직, 및/또는 섀도잉을 포함하는 메모리 시스템들 및 방법들
CN102422271B (zh) 用于非易失性存储器系统的多页准备命令
CN102414666B (zh) 用于受管理的非易失性存储器的低等待时间读取操作
US20090089486A1 (en) Portable data storage device incorporating multiple flash memory units
CN103688247A (zh) 混合slc/mlc存储器中的块管理方案
CN106462500A (zh) 用于执行损耗均衡操作的设备及方法
CN106201331B (zh) 用于写入数据的方法及设备与储存媒体
US20130304974A1 (en) System and method for storing data using a flexible data format
US20130238835A1 (en) Burning system and method
CN111625182B (zh) 通用闪存存储器模块、控制器、电子装置及操作方法
US10083120B2 (en) Memory system, and address mapping method and access method thereof
US10275187B2 (en) Memory device and data read method thereof
KR20170010810A (ko) 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비
CN101000580A (zh) Nand闪存信息提取方法和nand闪存自动识别方法
CN112416824A (zh) efuse读写控制器、芯片、电子设备及控制方法
AU2014267783A1 (en) Storage processing method, device and terminal
CN105487824A (zh) 信息处理方法、存储装置及电子设备
JP2017102943A (ja) トレーニング、データ再構築および/またはシャドウィングを含むメモリシステムおよび方法
CN105260133A (zh) 一种移动终端emmc的数据写入方法及系统
CN107688435B (zh) Io流调节方法与装置
US10892031B2 (en) Data storage device and control method for non-volatile memory
WO2020227878A1 (zh) 一种调度存储器中数据的方法、数据调度设备及系统
JP2014006902A (ja) フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ
US11922036B2 (en) Host data stream assignment with space-leveling across storage block containers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130109

Termination date: 20180828