CN114880164B - 一种管理存储页的方法和装置 - Google Patents

一种管理存储页的方法和装置 Download PDF

Info

Publication number
CN114880164B
CN114880164B CN202210812394.5A CN202210812394A CN114880164B CN 114880164 B CN114880164 B CN 114880164B CN 202210812394 A CN202210812394 A CN 202210812394A CN 114880164 B CN114880164 B CN 114880164B
Authority
CN
China
Prior art keywords
transmission rate
page
error correction
target
read
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.)
Active
Application number
CN202210812394.5A
Other languages
English (en)
Other versions
CN114880164A (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.)
Hefei Kangxinwei Storage Technology Co Ltd
Original Assignee
Hefei Kangxinwei Storage Technology 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 Hefei Kangxinwei Storage Technology Co Ltd filed Critical Hefei Kangxinwei Storage Technology Co Ltd
Priority to CN202210812394.5A priority Critical patent/CN114880164B/zh
Publication of CN114880164A publication Critical patent/CN114880164A/zh
Application granted granted Critical
Publication of CN114880164B publication Critical patent/CN114880164B/zh
Active 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • 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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种管理存储页的方法和装置,属于数据存储技术领域。方法包括:响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率;在判断所述当前传输速率为第一传输速率的情况下,降低所述第一传输速率至第二传输速率;基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作;根据所述纠错操作的结果为所述存储设备管理所述目标存储页。采用本发明,可以提高存储设备的纠错能力。

Description

一种管理存储页的方法和装置
技术领域
本发明涉及数据存储技术领域,尤其涉及一种管理存储页的方法和装置。
背景技术
随着信息技术的飞速发展和数据量的剧增,数据存储设备(例如闪存设备等)得到广泛应用。
通常,数据存储设备在处理数据读写时可能出现读写错误,现有方法将出现读写错误的存储页直接确定为不可用的错误存储页;但是在一些情况下,存储页发生读写错误可能是由外部环境噪声或存储设备内部噪声导致,存在通过纠错可以成为可用存储页的情况。现有的方法将被噪声影响的存储页直接错误地判断为不可用存储页,存在导致可用的存储页不可用、以及导致存储页所在的存储单元不可用的问题,由此影响了存储设备的读写空间和读写效率,存在存储设备纠错能力偏低的问题。
发明内容
有鉴于此,本发明实施例提供一种管理存储页的方法和装置,能够响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率;在判断所述当前传输速率为第一传输速率的情况下,降低所述第一传输速率至第二传输速率;基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作。通过针对目标存储页的纠错操作,克服了将被噪声影响的可用存储页错误地判断为错误存储页的问题,提高了存储设备的可用空间和读写效率,提高了存储设备的纠错能力。
为实现上述目的,根据本发明的一个方面,提供了一种管理存储页的方法,包括:响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率;在判断所述当前传输速率为第一传输速率的情况下,降低所述第一传输速率至第二传输速率;基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作;根据所述纠错操作的结果为所述存储设备管理所述目标存储页。
可选地,所述方法还包括:
判断对所述目标存储页执行读写操作的主体的主体类型;
所述在判断所述当前传输速率为第一传输速率的情况下,降低所述第一传输速率至第二传输速率,包括:
在判断所述当前传输速率为第一传输速率的情况下,根据所述主体类型,降低所述第一传输速率至对应于所述主体类型的第二传输速率。
可选地,所述根据所述主体类型,降低所述第一传输速率至对应于所述主体类型的第二传输速率,包括:
在所述主体类型为从所述存储设备读写数据的外部模块的情况下,基于设定百分比降低所述第一传输速率,将降低所述设定百分比后的传输速率作为对应于所述外部模块的所述第二传输速率。
可选地,所述基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作,包括:
在基于所述第二传输速率、以及所述多个信号强度,对所述目标存储页执行的所述纠错操作失败的情况下,将所述第二传输速率降至设定速率,并将设定速率作为所述第二传输速率,执行对所述目标存储页执行纠错操作的步骤。
可选地,所述根据所述主体类型,降低所述第一传输速率至对应于所述主体类型的第二传输速率,包括:
在所述主体类型为所述存储设备关联的垃圾回收模块的情况下,降低所述第一传输速率至设定速率,将所述设定速率作为对应于所述垃圾回收模块的所述第二传输速率。
可选地,所述方法还包括:
在检测出任一目标存储页发生读写异常的情况下,利用纠错模块针对发生读写异常的目标存储页进行纠错;
在所述纠错模块针对所述存储页纠错失败的情况下,触发多次读写所述目标存储页的重试策略;
在利用所述重试策略对所述存储页纠错失败的情况下,确定所述目标存储页发生读写错误。
可选地,所述方法还包括:
响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率、以及所述存储设备的当前信号强度;
将当前传输速率作为原始传输速率、将当前信号强度作为原始信号强度,并存储所述原始传输速率、所述原始信号强度。
可选地,所述根据所述纠错操作的结果为所述存储设备管理所述目标存储页,包括:
在所述纠错操作的结果为成功的情况下,将所述当前传输速率恢复为所述原始传输速率、以及,将所述当前信号强度恢复为所述原始信号强度。
可选地,所述基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作,包括:
针对每一个信号强度,执行N1-N2的操作直到满足循环结束条件:
N1:基于所述第二传输速率与所述信号强度,对所述目标存储页执行纠错操作;
N2:判断所述纠错操作的结果,在所述结果为失败的情况下,对下一个信号强度执行N1-N2的操作;在所述结果为成功的情况下,将所述目标存储页处理为可用存储页,结束循环。
根据本发明的另一方面,提供了一种管理存储页的装置,所述装置包括:确定存储页模块、纠正存储页模块和管理存储页模块;其中,
所述确定存储页模块,用于响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率;
所述纠正存储页模块,用于在判断所述当前传输速率为第一传输速率的情况下,降低所述第一传输速率至第二传输速率;基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作;
所述管理存储页模块,用于根据操作的结果为所述存储设备管理所述目标存储页。
可选地,所述纠正存储页模块,用于:
判断对所述目标存储页执行读写操作的主体的主体类型;
在判断所述当前传输速率为第一传输速率的情况下,根据所述主体类型,降低所述第一传输速率至对应于所述主体类型的第二传输速率。
可选地,所述纠正存储页模块,用于:
在所述主体类型为从所述存储设备读取数据的外部模块的情况下,基于设定百分比降低所述第一传输速率,将降低所述设定百分比后的传输速率作为对应于所述外部模块的所述第二传输速率。
可选地,所述纠正存储页模块,用于:
在基于所述第二传输速率、以及所述多个信号强度,对所述目标存储页执行的所述纠错操作失败的情况下,将所述第二传输速率降至设定速率,并将设定速率作为所述第二传输速率,执行对所述目标存储页执行纠错操作的步骤。
可选地,所述纠正存储页模块,用于:
在所述主体类型为所述存储设备关联的垃圾回收模块的情况下,降低所述第一传输速率至设定速率,将所述设定速率作为对应于所述垃圾回收模块的所述第二传输速率。
可选地,所述确定存储页模块,用于:
在检测出任一目标存储页发生读写异常的情况下,利用纠错模块针对发生读写异常的目标存储页进行纠错;
在所述纠错模块针对所述存储页纠错失败的情况下,触发多次读写所述目标存储页的重试策略;
在利用所述重试策略对所述存储页纠错失败的情况下,确定所述目标存储页发生读写错误。
可选地,所述确定存储页模块,用于:
响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率、以及所述存储设备的当前信号强度;
将当前传输速率作为原始传输速率、将当前信号强度作为原始信号强度,并存储所述原始传输速率、所述原始信号强度。
可选地,所述管理存储页模块,用于:
在所述纠错操作的结果为成功的情况下,将所述当前传输速率恢复为所述原始传输速率,以及,将所述当前信号强度恢复为所述原始信号强度。
可选地,所述纠正存储页模块,用于:
针对每一个信号强度,执行N1-N2的操作直到满足循环结束条件:
N1:基于所述第二传输速率与所述信号强度,对所述目标存储页执行纠错操作;
N2:判断所述纠错操作的结果,在所述结果为失败的情况下,对下一个信号强度执行N1-N2的操作;在所述结果为成功的情况下,将所述目标存储页处理为可用存储页,结束循环。
根据本发明的另一方面,提供了一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述管理存储页的方法。
根据本发明的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述管理存储页的方法。
上述发明中的一个实施例具有如下优点或有益效果:能够响应于确定存储设备中的任一目标存储页发生读写错误,获取存储设备的当前传输速率;在判断当前传输速率为第一传输速率的情况下,降低第一传输速率至第二传输速率;基于第二传输速率、存储设备的多个信号强度,对发生读写错误的目标存储页执行纠错操作。通过针对目标存储页的纠错操作,克服了将被噪声影响的可用存储页错误地判断为错误存储页的问题,提高了存储设备的可用空间和读写效率,提高了存储设备的纠错能力。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
在下面结合附图对于示例性实施例的描述中,本发明的更多细节、特征和优点被公开,在附图中:
图1是本发明示例性实施例提供的一种管理存储页的方法的流程示意图;
图2是本发明示例性实施例提供的一种管理存储页的方法的流程示意图;
图3是本发明示例性实施例提供的一种管理存储页的装置的结构示意图;
图4示出了能够用于实现本发明的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
如图1所示,本发明实施例提供了一种管理存储页的方法,该方法可以包括以下步骤:
步骤S101:响应于确定存储设备中的任一目标存储页发生读写错误,获取存储设备的当前传输速率。
具体地,存储设备为计算机设备包含用于存储数据的部分,计算机设备例如为台式机、笔记本电脑、平板电脑、服务器设备、智能手机等,存储设备例如为归属于闪存类型的ssd(固态硬盘)、emmc(嵌入式多媒体卡)或ufs(通用闪存存储)等。
进一步地,在闪存设备(即存储设备)中的读写数据的最小单位是存储页(例如用page表示),通常,在处理写入数据到闪存阵列时需要进行纠错码编码,在处理从闪存阵列读取数据时需要进行解码;由于闪存阵列的物理属性,在读取闪存阵列中的数据时会有一定概率性发生数据比特翻转现象,若比特翻转较多时就会导致解码失败现象(即读错误);或者,由于多种原因导致写错误。
确定存储设备中的任一目标存储页发生读写错误的方法包括:
当存储设备检测到的一个或多个存储页(page)发生读写错误时,存储设备首先利用纠错模块对发生读写异常的存储页进行纠错,其中,纠错模块可以基于低密度奇偶校验码(Low Density Parity Check Code,缩写为ldpc)技术所实现,ldpc是一种前向纠错码,封装在存储设备主控里,当存储设备因环境温度、本身使用时长(即使用寿命)等因素出错时,可以首先利用ldpc进行纠错;如果纠错成功则退出,否则在纠错失败的情况下,进入重试(read retry)流程(即触发多次读写所述存储页的重试策略)。即,在检测出任一目标存储页发生读写异常的情况下,利用纠错模块针对发生读写异常的目标存储页进行纠错;在纠错模块针对存储页纠错失败的情况下,触发多次读写目标存储页的重试策略;在利用重试策略对存储页纠错失败的情况下,确定目标存储页发生读写错误。
进一步地,在确定存储设备中的任一目标存储页发生读写错误的情况下,获取存储设备的当前传输速率。其中,当前传输速率与其所归属的存储设备的设置所关联,例如:可以为当前DDR(Double Data Rate,双倍传输速率,简称DDR)、SDR(Single Data Rate,单倍传输速率,简称SDR)等。优选地,如果当前闪存的传输速率是SDR,则不执行纠错操作并报错,否则进入纠错操作流程。
进一步地,响应于确定存储设备中的任一目标存储页发生读写错误,获取存储设备的当前传输速率、以及存储设备的当前信号强度。其中,信号强度关联于驱动强度(driver strength),信号强度的数值越大信号越强。信号强度一般有三种,基准信号强度、高压信号强度、低压信号强度等。
进一步地,响应于确定存储设备中的任一目标存储页发生读写错误,将当前传输速率作为原始传输速率、将当前信号强度作为原始信号强度,并存储原始传输速率、原始信号强度。其中,在获取当前传输速率(即原始传输速率)的同时,获取当前信号强度(即原始信号强度)并存储;由于纠错操作关联于更新传输速率、结合不同的信号强度;因此通过存储原始传输速率和原始信号强度,可以在纠错操作结束后恢复为原始传输速率和原始信号强度,提高了纠错的准确性和灵活性。
步骤S102:在判断当前传输速率为第一传输速率的情况下,降低第一传输速率至第二传输速率;基于第二传输速率、存储设备的多个信号强度,对发生读写错误的目标存储页执行纠错操作。
具体地,降低当前传输速率、结合多个信号强度,对目标存储页执行纠错操作。
进一步地,在本发明的一个实施例中,可以判断对目标存储页执行读写操作的主体的主体类型。相对应地,上述在判断当前传输速率为第一传输速率的情况下,降低第一传输速率至第二传输速率,包括:在判断当前传输速率为第一传输速率的情况下,根据主体类型,降低第一传输速率至对应于主体类型的第二传输速率。
进一步地,根据不同的主体类型,执行纠错操作有两种方法:
第一种方法:在主体类型为从所述存储设备读取数据的外部模块的情况下,基于设定百分比降低第一传输速率,将降低设定百分比后的传输速率作为对应于外部模块的第二传输速率。
相对应地,上述基于第二传输速率、存储设备的多个信号强度,对发生读写错误的目标存储页执行纠错操作,包括:在基于第二传输速率、以及多个信号强度,对目标存储页执行的纠错操作失败的情况下,将第二传输速率降至设定速率;并将设定速率作为第二传输速率,执行对目标存储页执行纠错操作的步骤。
具体地,外部模块例如为存储设备关联的一种或多种设备(例如为台式机、笔记本电脑、平板电脑、服务器设备、智能手机等)包含的执行读写数据的模块(例如主控模块等)。在判断出执行主体的主体类型为外部模块的情况下,基于设定百分比降低第一传输速率,例如设定百分比为50%,又例如第一传输速率为DDR,即将存储设备的DDR速率降低到50%(即为第二传输速率)。
然后执行基于第二传输速率、存储设备的多个信号强度,对发生读写错误的存储页执行纠错操作的步骤。如果目标存储页纠错操作的结果是成功,则将目标存储页恢复成可用存储页;否则,继续降低第二传输速率降低到设定速率(例如为SDR),并继续执行基于降为SDR的第二传输速率、多个信号强度对目标存储页的纠错操作。此后,如果目标存储页纠错操作的结果是成功,则将目标存储页恢复成可用存储页;否则,退出纠错操作并报错。
通过基于设定百分比(例如50%)降低第一传输速率后读写存储设备的目标存储页,从而降低了占用外部模块的读写时间,降低了读写时间超时的概率。在判断出纠错未成功以后,继续降低传输速率,提高了对存储页纠错的成功概率。
第二种方法:在主体类型为存储设备关联的垃圾回收模块的情况下,降低第一传输速率至设定速率,将设定速率作为对应于垃圾回收模块的第二传输速率。
具体地,降低第一传输速率(例如DDR)至设定速率(例如SDR);并执行基于降为SDR、多个信号强度对目标存储页的纠错操作。如果目标存储页纠错操作的结果是成功,则将目标存储页恢复成可用存储页;否则,退出纠错操作并报错。
进一步地,基于第二传输速率、存储设备的多个信号强度,对发生读写错误的目标存储页执行纠错操作,包括:针对每一个信号强度,执行N1-N2的操作直到满足循环结束条件:N1:基于第二传输速率与信号强度,对目标存储页执行纠错操作;N2:判断纠错操作的结果,在结果为失败的情况下,对下一个信号强度执行N1-N2的操作;在结果为成功的情况下,将目标存储页处理为可用存储页,结束循环。
可以理解的是,信号强度可以为不同,例如:信号强度为基准信号强度、高压信号强度、低压信号强度等。在第二传输速率为SDR的情况下,可以基于SDR以及基准信号强度对目标存储页执行读写操作(即对存储页执行纠错操作),如果纠错操作的结果为失败,则基于SDR以及高压信号强度对目标存储页执行读写操作(即对存储页执行纠错操作),如果纠错操作的结果为失败,则基于SDR以及低压信号强度对目标存储页执行读写操作(即对存储页执行纠错操作)。由此可见,通过第二传输速率结合(遍历)各个信号强度,执行纠错操作。在结果为成功的情况下,将目标存储页处理为可用存储页,结束循环。
步骤S103:根据纠错操作的结果为存储设备管理目标存储页。
进一步地,根据纠错操作的结果,管理目标存储页,例如:结果为成功的情况下,将目标存储页处理为可用存储页,否则将目标存储页标记为不可用存储页并报错等。
进一步地,根据纠错操作的操作结果为存储设备管理存储页,包括:在纠错操作的结果为成功的情况下,将当前传输速率恢复为原始传输速率,以及,将当前信号强度恢复为原始信号强度。可以理解的是,在纠错操作的过程中,包含变更传输速率、信号强度的操作,在纠错结束后,将变更后的传输速率、信号强度恢复为原始传输速率、原始信号强度,提高了管理目标存储页的纠错能力。
本实施例中,通过针对目标存储页的纠错操作,克服了将被噪声影响的可用存储页错误地判断为错误存储页的问题,提高了存储设备的可用空间和读写效率,提高了存储设备的纠错能力。
如图2所示,本发明实施例提供了一种管理存储页的流程,该流程可以包括以下步骤:
步骤S201:在检测出存储设备的任一目标存储页发生读写异常的情况下,利用纠错模块针对发生读写异常的存储页进行纠错;在纠错模块针对存储页纠错失败的情况下,触发多次读写目标存储页的重试策略。
步骤S202:判断利用所述重试策略对所述存储页纠错是否均失败,如果是,执行步骤S203;否则执行步骤S215。
具体地,步骤S201-步骤S202的描述即为在检测出任一目标存储页发生读写异常的情况下,利用纠错模块针对发生读写异常的目标存储页进行纠错;在纠错模块针对存储页纠错失败的情况下,触发多次读写目标存储页的重试策略;在利用重试策略对存储页纠错失败的情况下,确定目标存储页发生读写错误。
步骤S203:判断当前传输速率是否为设定速率,如果是执行步骤S216;否则执行步骤S204。
具体地,优选地,首先获取当前传输速率,如果当前传输速率为设定速率(例如为SDR),则进入其他流程(针对当前传输速率已经为较低速率的情况进行处理的流程),否则继续执行步骤S204。
步骤S204:存储所述存储设备的当前传输速率、当前信号强度。
具体地,通过存储所述存储设备的当前传输速率、当前信号强度可以在纠错过程中变更多次传输速率、信号强度之后恢复到原始的传输速率、信号强度,即当前传输速率、当前信号强度。
步骤S205:判断对一个或多个所述目标存储页执行读写操作的主体的主体类型,如果主体类型为垃圾回收模块,执行步骤S206;如果主体类型为外部模块,执行步骤S210。
具体地,即判断对目标存储页执行读写操作的主体的主体类型;在判断当前传输速率为第一传输速率的情况下,降低第一传输速率至第二传输速率,包括:在判断当前传输速率为第一传输速率的情况下,根据主体类型,降低第一传输速率至对应于主体类型的第二传输速率。
步骤S206:降低所述第一传输速率至设定速率。其中,设定速率例如为SDR;在主体类型为垃圾回收的情况下,将所述设定速率作为对应于所述垃圾回收模块的所述第二传输速率。在主体类型为外部模块的情况下,将对应于所述外部模块的所述第二传输速率作为本步骤的第一传输速率,执行降低所述第一传输速率至设定速率的操作。
步骤S207:判断是否遍历了每一个信号强度,如果是,执行步骤S216;否则执行步骤S208。
步骤S208:基于所述设定速率(即垃圾回收对应的第二传输速率)、所述存储设备的信号强度,对发生读写错误的所述目标存储页执行纠错操作。
步骤S209:判断纠错操作的操作结果,如果成功,执行步骤S214;否则执行步骤S207。
具体地,步骤S206-步骤S209描述了主体类型为垃圾回收的情况下的纠错过程;即,根据主体的主体类型,降低第一传输速率至对应于主体类型的第二传输速率,包括:在主体类型为存储设备关联的垃圾回收模块的情况下,降低第一传输速率至设定速率(例如为SDR),将设定速率作为对应于垃圾回收模块的第二传输速率。
基于第二传输速率、存储设备的多个信号强度,对发生读写错误的目标存储页执行纠错操作,包括:针对每一个信号强度,执行N1-N2的操作直到满足循环结束条件:N1:基于第二传输速率与信号强度,对目标存储页执行纠错操作;N2:判断纠错操作的结果,在结果为失败的情况下,对下一个信号强度执行N1-N2的操作(即遍历每一个信号强度);在结果为成功的情况下,将目标存储页处理为可用存储页(即步骤S214),结束循环。
步骤S210:针对主体类型为外部模块,降低所述第一传输速率的设定百分比,将降低所述设定百分比后的传输速率作为对应于所述外部模块的所述第二传输速率。
步骤S211:判断是否遍历了每一个信号强度,如果是,执行步骤S206;否则执行步骤S212。
步骤S212:基于所述第二传输速率、所述存储设备的信号强度,对发生读写错误的所述目标存储页执行纠错的操作。
步骤S213:判断纠错操作的操作结果,如果成功,执行步骤S214;否则执行步骤S211。
具体地,步骤S210-步骤S213描述主体类型为外部模块的纠错情况,即在主体类型为从存储设备读取数据的外部模块的情况下,基于设定百分比(例如50%等)降低第一传输速率,将降低设定百分比后的传输速率作为对应于外部模块的第二传输速率。
基于第二传输速率、存储设备的多个信号强度,对发生读写错误的目标存储页执行纠错操作,包括:在基于第二传输速率、以及多个信号强度,对目标存储页执行的纠错操作失败的情况下,将第二传输速率降至设定速率(例如SDR),并将设定速率作为第二传输速率,执行对目标存储页执行纠错操作的步骤(即步骤S206)。
基于第二传输速率、存储设备的多个信号强度,对发生读写错误的目标存储页执行纠错操作,包括:针对每一个信号强度,执行N1-N2的操作直到满足循环结束条件:N1:基于第二传输速率与信号强度,对目标存储页执行纠错操作;N2:判断纠错操作的结果,在结果为失败的情况下,对下一个信号强度执行N1-N2的操作(即遍历每一个信号强度);在结果为成功的情况下,将目标存储页处理为可用存储页(即步骤S214),结束循环。
步骤S214:根据所述纠错操作的结果为所述存储设备管理所述目标存储页。
具体地,关于根据纠错操作的结果为存储设备管理目标存储页的描述与步骤S103的描述一致,在此不在赘述。进一步地,在所述纠错操作的结果为成功的情况下,将所述当前传输速率恢复为所述原始传输速率,以及,将所述当前信号强度恢复为所述原始信号强度。
步骤S215:其他处理流程。
具体地,其他处理流程例如由闪存转换层所处理的其他流程,本发明的实施例针对该流程不做进一步讨论。
步骤S216:退出并报错。
由此可见,通过本发明的实施例可以提高存储设备中的因环境噪声产生的通道噪声(channel noise)导致读写出错的存储页的纠错能力,进而提高了存储设备的时长。
本发明实施例提供了一种管理存储页的装置,该装置用于实现上述管理存储页的方法。如图3所示的示意性框图,基于管理存储页的装置300包括:确定存储页模块301,纠正存储页模块302,管理存储页模块303。其中,
所述确定存储页模块301,用于响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率;
所述纠正存储页模块302,用于在判断所述当前传输速率为第一传输速率的情况下,降低所述第一传输速率至第二传输速率;基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作;
所述管理存储页模块303,用于根据操作的结果为所述存储设备管理所述目标存储页。
可选地,所述纠正存储页模块302,用于:
判断对所述目标存储页执行读写操作的主体的主体类型;
在判断所述当前传输速率为第一传输速率的情况下,根据所述主体类型,降低所述第一传输速率至对应于所述主体类型的第二传输速率。
可选地,所述纠正存储页模块302,用于:
在所述主体类型为从所述存储设备读写数据的外部模块的情况下,基于设定百分比降低所述第一传输速率,将降低所述设定百分比后的传输速率作为对应于所述外部模块的所述第二传输速率。
可选地,所述纠正存储页模块302,用于:
在基于所述第二传输速率、以及所述多个信号强度,对所述目标存储页执行的所述纠错操作失败的情况下,将所述第二传输速率降至设定速率,并将设定速率作为所述第二传输速率,执行对所述目标存储页执行纠错操作的步骤。
可选地,所述纠正存储页模块302,用于:
在所述主体类型为所述存储设备关联的垃圾回收模块的情况下,降低所述第一传输速率至设定速率,将所述设定速率作为对应于所述垃圾回收模块的所述第二传输速率。
可选地,所述确定存储页模块301,用于:
在检测出任一目标存储页发生读写异常的情况下,利用纠错模块针对发生读写异常的目标存储页进行纠错;
在所述纠错模块针对所述存储页纠错失败的情况下,触发多次读写所述目标存储页的重试策略;
在利用所述重试策略对所述存储页纠错失败的情况下,确定所述目标存储页发生读写错误。
可选地,所述确定存储页模块301,用于:
响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率、以及所述存储设备的当前信号强度;
将当前传输速率作为原始传输速率、将当前信号强度作为原始信号强度,并存储所述原始传输速率、所述原始信号强度。
可选地,所述管理存储页模块303,用于:
在所述纠错操作的结果为成功的情况下,将所述当前传输速率恢复为所述原始传输速率,以及,将所述当前信号强度恢复为所述原始信号强度。
可选地,所述纠正存储页模块302,用于:
针对每一个信号强度,执行N1-N2的操作直到满足循环结束条件:
N1:基于所述第二传输速率与所述信号强度,对所述目标存储页执行纠错操作;
N2:判断所述纠错操作的结果,在所述结果为失败的情况下,对下一个信号强度执行N1-N2的操作;在所述结果为成功的情况下,将所述目标存储页处理为可用存储页,结束循环。
本实施例中,能够响应于确定存储设备中的任一目标存储页发生读写错误,获取存储设备的当前传输速率;在判断当前传输速率为第一传输速率的情况下,降低第一传输速率至第二传输速率;基于第二传输速率、存储设备的多个信号强度,对发生读写错误的目标存储页执行纠错操作。通过针对目标存储页的纠错操作,克服了将被噪声影响的可用存储页错误地判断为错误存储页的问题,提高了存储设备的可用空间和读写效率,提高了存储设备的纠错能力。
本发明示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本发明实施例的方法。
本发明示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
本发明示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
参考图4,现将描述可以作为本发明的电子设备400的结构框图,其是可以应用于本发明的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,数据中心服务器、笔记本电脑、瘦客户机、膝上型计算机、台式计算机、工作站、个人数字助理、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
电子设备400中的多个部件连接至I/O接口405,包括:输入单元406、输出单元407、存储单元408以及通信单元409。输入单元406可以是能向电子设备400输入信息的任何类型的设备,输入单元406可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元407可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元408可以包括但不限于磁盘、光盘。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理。例如,在一些实施例中,上述管理存储页的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到电子设备400上。在一些实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为上述管理存储页的方法。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本发明使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

Claims (9)

1.一种管理存储页的方法,其特征在于,所述方法包括:
响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率;
判断所述当前传输速率为第一传输速率;
判断对所述目标存储页执行读写操作的主体的主体类型;
在所述主体类型为从所述存储设备读写数据的外部模块的情况下,基于设定百分比降低所述第一传输速率,将降低所述设定百分比后的传输速率作为对应于所述外部模块的第二传输速率;
在所述主体类型为所述存储设备关联的垃圾回收模块的情况下,降低所述第一传输速率至设定速率,将所述设定速率作为对应于所述垃圾回收模块的第二传输速率;
基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作;
根据所述纠错操作的结果为所述存储设备管理所述目标存储页。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作,包括:
在基于所述第二传输速率、以及所述多个信号强度,对所述目标存储页执行的所述纠错操作失败的情况下,将所述第二传输速率降至设定速率,并将设定速率作为所述第二传输速率,执行对所述目标存储页执行纠错操作的步骤。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测出任一目标存储页发生读写异常的情况下,利用纠错模块针对发生读写异常的目标存储页进行纠错;
在所述纠错模块针对所述存储页纠错失败的情况下,触发多次读写所述目标存储页的重试策略;
在利用所述重试策略对所述存储页纠错失败的情况下,确定所述目标存储页发生读写错误。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率、以及所述存储设备的当前信号强度;
将当前传输速率作为原始传输速率、将当前信号强度作为原始信号强度,并存储所述原始传输速率、所述原始信号强度。
5.根据权利要求4所述的方法,其特征在于,所述根据所述纠错操作的结果为所述存储设备管理所述目标存储页,包括:
在所述纠错操作的结果为成功的情况下,将所述当前传输速率恢复为所述原始传输速率,以及,将所述当前信号强度恢复为所述原始信号强度。
6.根据权利要求1所述的方法,其特征在于,所述基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作,包括:
针对每一个信号强度,执行N1-N2的操作直到满足循环结束条件:
N1:基于所述第二传输速率与所述信号强度,对所述目标存储页执行纠错操作;
N2:判断所述纠错操作的结果,在所述结果为失败的情况下,对下一个信号强度执行N1-N2的操作;在所述结果为成功的情况下,将所述目标存储页处理为可用存储页,结束循环。
7.一种管理存储页的装置,其特征在于,所述装置包括:确定存储页模块、纠正存储页模块和管理存储页模块;其中,
所述确定存储页模块,用于响应于确定存储设备中的任一目标存储页发生读写错误,获取所述存储设备的当前传输速率;
所述纠正存储页模块,用于判断所述当前传输速率为第一传输速率;判断对所述目标存储页执行读写操作的主体的主体类型;在所述主体类型为从所述存储设备读写数据的外部模块的情况下,基于设定百分比降低所述第一传输速率,将降低所述设定百分比后的传输速率作为对应于所述外部模块的第二传输速率;在所述主体类型为所述存储设备关联的垃圾回收模块的情况下,降低所述第一传输速率至设定速率,将所述设定速率作为对应于所述垃圾回收模块的第二传输速率;基于所述第二传输速率、所述存储设备的多个信号强度,对发生读写错误的所述目标存储页执行纠错操作;
所述管理存储页模块,用于根据操作的结果为所述存储设备管理所述目标存储页。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN202210812394.5A 2022-07-12 2022-07-12 一种管理存储页的方法和装置 Active CN114880164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210812394.5A CN114880164B (zh) 2022-07-12 2022-07-12 一种管理存储页的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210812394.5A CN114880164B (zh) 2022-07-12 2022-07-12 一种管理存储页的方法和装置

Publications (2)

Publication Number Publication Date
CN114880164A CN114880164A (zh) 2022-08-09
CN114880164B true CN114880164B (zh) 2022-09-20

Family

ID=82682933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210812394.5A Active CN114880164B (zh) 2022-07-12 2022-07-12 一种管理存储页的方法和装置

Country Status (1)

Country Link
CN (1) CN114880164B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241452A (zh) * 2007-02-08 2008-08-13 三星电子株式会社 存储系统和命令处理方法
CN103098029A (zh) * 2010-07-13 2013-05-08 桑迪士克科技股份有限公司 后台存储器系统接口的动态优化
CN110765041A (zh) * 2019-10-22 2020-02-07 天津津航计算技术研究所 自适应的Nand Flash读写速度调整系统
CN114093409A (zh) * 2022-01-21 2022-02-25 苏州浪潮智能科技有限公司 一种闪存校验方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11562780B2 (en) * 2019-10-04 2023-01-24 Samsung Electronics Co., Ltd. Memory device and memory system including the same
CN111143109B (zh) * 2019-12-16 2021-08-13 浙江大学 一种ecc内存管理器、方法及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241452A (zh) * 2007-02-08 2008-08-13 三星电子株式会社 存储系统和命令处理方法
CN103098029A (zh) * 2010-07-13 2013-05-08 桑迪士克科技股份有限公司 后台存储器系统接口的动态优化
CN110765041A (zh) * 2019-10-22 2020-02-07 天津津航计算技术研究所 自适应的Nand Flash读写速度调整系统
CN114093409A (zh) * 2022-01-21 2022-02-25 苏州浪潮智能科技有限公司 一种闪存校验方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种新型SPI NAND控制器设计;陈亮; 蔡声镇;《电子器件》;20210620;第3卷(第44期);全文 *

Also Published As

Publication number Publication date
CN114880164A (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
JP5211751B2 (ja) 計算機、ダンププログラムおよびダンプ方法
US9348692B2 (en) Flash memory apparatus, memory controller and method for controlling flash memory
CN109756568B (zh) 文件的处理方法、设备及计算机可读存储介质
CN110442473B (zh) 一种非易失性数据存储方法、装置、电子设备及介质
CN114996173B (zh) 一种管理存储设备写操作的方法和装置
CN115495025B (zh) 一种管理异常存储块的方法和装置
CN110083379A (zh) 一种服务器部件升级方法及相关装置
CN115408730A (zh) 数据处理方法、芯片、电子设备及存储介质
US10776271B2 (en) Method, device and computer program product for validating cache file
CN107894900B (zh) 一种mcu升级的方法及系统
CN114880164B (zh) 一种管理存储页的方法和装置
CN109343800B (zh) 存储设备管理方法、装置及可读存储介质
CN116028253A (zh) 一种固态硬盘纠错优化方法、系统、设备及介质
CN114879916B (zh) 一种管理存储单元的方法和装置
CN111435323A (zh) 信息的传输方法、装置、终端、服务器及存储介质
CN113900910A (zh) 应用程序监控方法、装置、存储介质和电子设备
CN116107797A (zh) 数据存储方法及装置、电子设备和存储介质
CN109634526B (zh) 一种基于对象存储的数据操作方法及相关装置
CN113010114A (zh) 一种数据处理方法、装置、计算机设备及存储介质
WO2021087662A1 (zh) 内存分配方法、装置、终端及计算机可读存储介质
CN114281604B (zh) 数据恢复方法、装置、电子设备及存储介质
CN111475109B (zh) 一种数据处理方法、装置、设备及介质
US11513718B2 (en) Method, electronic device and computer program product for configuring buffer size associated with backup threads
US11892920B2 (en) Method, electronic device, and program product for failure handling
CN111369346B (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