CN109062511A - 一种数据读取的方法以及相关装置 - Google Patents
一种数据读取的方法以及相关装置 Download PDFInfo
- Publication number
- CN109062511A CN109062511A CN201810836125.6A CN201810836125A CN109062511A CN 109062511 A CN109062511 A CN 109062511A CN 201810836125 A CN201810836125 A CN 201810836125A CN 109062511 A CN109062511 A CN 109062511A
- Authority
- CN
- China
- Prior art keywords
- reference voltage
- data
- main control
- module
- control chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 abstract description 10
- 239000010410 layer Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000007667 floating Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005684 electric field Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 210000003205 muscle Anatomy 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000003647 oxidation Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例公开了一种数据读取的方法,包括:当数据读取失败时,主控芯片通过管理模块获取数据重读指令;所述主控芯片根据所述数据重读指令从预设重读序列中确定第一参考电压值,其中,所述预设重读序列存储于所述主控芯片的后端模块中;所述主控芯片根据所述第一参考电压值从闪存芯片中读取目标数据。本发明实施例还公开了一种数据读取装置。本发明实施例提供了一种方法实现了数据需要重读的情况下,降低管理模块与后端模块之间的数据通信占用的带宽,提升了用户对数据的读取效率。
Description
技术领域
本发明涉及数据读取技术领域,尤其涉及一种数据读取的方法以及相关装置。
背景技术
在人类生活中,随着互联网、云计算、物联网、大数据等技术的发展及广泛应用,每时每刻都在产生的海量数据需要进行处理和存储,因此对存储***的性能提出了更高的要求。固态硬盘(solid state drives,SSD)因为其具有读写速度快、能耗低等特点,而被广泛的应用。SSD由前端(front end)、主控芯片以及闪存芯片,通常闪存芯片的类型为与非型闪存(nand flash)组成,前端负责与主机之间的数据通信,主控芯片负责SSD内部的管理,其中主控芯片中包含后端模块与管理模块,后端模块负责指示闪存芯片的读取、写入以及擦除等操作,管理模块负责管理闪存芯片,闪存芯片负责存储数据。
不同于传统硬盘,SSD的使用是有寿命的,随着擦写数量的增加,到达一定的擦写数量,读出错的情况会随之增加。读取-重试(read-retry,Read-Retry)是解决SSD读出错的问题的首选方法,传统的Read-Retry技术中,在出现读出错的情况下,管理模块会向后端模块发送参考电压值,后端模块根据该参考电压值读取闪存芯片上的数据。
当后端模块出现需要获取多次参考电压值的情况时,管理模块与后端模块之间的参考电压值的数据通信会占用大量的带宽,降低用户对数据的读取效率。
发明内容
本发明实施例提供了一种数据读取的方法以及相关装置,实现了数据需要重读的情况下,降低管理模块与后端模块之间的数据通信占用的带宽,提升了用户对数据的读取效率。
有鉴于此,本发明第一方面提供了一种数据读取的方法,包括:
当数据读取失败时,主控芯片通过管理模块获取数据重读指令;
所述主控芯片根据所述数据重读指令从预设重读序列中确定第一参考电压值,其中,所述预设重读序列存储于所述主控芯片的后端模块中;
所述主控芯片根据所述第一参考电压值从闪存芯片中读取目标数据。
结合本发明实施例的第一方面,在第一方面的第一种可能的实现方式中,所述主控芯片根据所述第一参考电压值从所述闪存芯片中读取所述目标数据,包括:
所述主控芯片将所述第一参考电压值发送至所述闪存芯片;
所述闪存芯片根据所述第一参考电压值生成第一参考电压;
所述闪存芯片根据所述第一参考电压读取所述目标数据。
结合本发明实施例的第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述闪存芯片根据所述第一参考电压读取所述目标数据之后,还包括:
若所述闪存芯片根据所述第一参考电压读取所述目标数据成功时;
所述闪存芯片向所述主控芯片发送读取成功指令,所述读取成功指令中携带有所述目标数据;
若所述闪存芯片根据所述第一参考电压读取所述目标数据失败时;
所述闪存芯片向所述主控芯片发送读取失败指令。
结合本发明实施例的第一方面的第二种可能的实现方式,本发明实施例的第一方面的第三种可能的实现方式中,所述闪存芯片向所述主控芯片发送所述读取失败指令之后,还包括:
所述主控芯片通过所述管理模块获取所述读取失败指令,并根据所述读取失败指令生成所述数据重读指令;
所述主控芯片根据所述数据重读指令从预设重读序列中确定第二参考电压值,其中,所述预设重读序列还包含多个参考电压值;
所述主控芯片根据所述第二参考电压值从所述闪存芯片中读取所述目标数据。
结合本发明实施例的第一方面至第一方面的第三种可能的实现方式中的任一种实现方式,本发明实施例的第一方面的第四种可能的实现方式中,所述主控芯片通过所述管理模块获取所述数据重读指令之前,还包括:
所述主控芯片通过所述管理模块向所述后端模块发送读请求,所述读请求用于指示所述后端模块读取所述闪存芯片中的所述目标数据。
本发明第二方面提供了一种数据读取装置,所述数据读取装置包括:
获取模块,用于当数据读取失败时,通过管理模块获取数据重读指令;
确定模块,用于根据所述获取模块获取的所述数据重读指令从预设重读序列中确定第一参考电压值,其中,所述预设重读序列存储于所述主控芯片的所述后端模块中;
读取模块,用于根据所述确定模块确定的所述第一参考电压值从闪存芯片中读取数据。
结合本发明实施例的第二方面,在第二方面的第一种可能的实施例中,提供了一种数据读取装置,包括:
发送模块,具体用于根据所述主控芯片将所述第一参考电压值发送至所述闪存芯片;
生成模块,具体用于根据所述第一参考电压值生成第一参考电压;
读取模块,具体用于根据所述第一参考电压读取所述目标数据。
结合本发明实施例的第二方面的第一种可能的实施例,第二方面的第二种可能的实施例中,提供了一种数据读取装置,包括:
发送模块,还用于所述闪存芯片根据所述第一参考电压读取所述目标数据成功之后,向所述主控芯片发送读取成功指令,所述读取成功指令中携带有所述目标数据;
发送模块,还用于所述闪存芯片根据所述第一参考电压读取所述目标数据失败之后,向所述主控芯片发送读取失败指令。
结合本发明实施例的第二方面的第二种可能的实施例,第二方面的第三种可能的实施例中,提供了一种数据读取装置,包括:
获取模块,还用于通过所述管理模块获取所述读取失败指令,并根据所述读取失败指令生成所述数据重读指令;
确定模块,还用于根据所述数据重读指令从预设重读序列中确定第二参考电压值,其中,所述预设重读序列还包含多个参考电压值;
读取模块,还用于根据所述第二参考电压值从所述闪存芯片中读取所述目标数据。
结合本发明实施例的第二方面至第二方面的第三种可能的实现方式中的任一种实现方式,本发明实施例的第二方面的第四种可能的实现方式中所述数据读取装置,包括:
发送模块,还用于向所述后端模块发送读请求,所述读请求用于指示所述后端模块读取所述闪存芯片中的所述目标数据。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,提供了一种数据读取的方法,当数据读取失败时,主控芯片通过管理模块获取数据重读指令;主控芯片根据数据重读指令从预设重读序列中确定第一参考电压值,其中,预设重读序列存储于主控芯片的后端模块中;主控芯片根据第一参考电压值从闪存芯片中读取目标数据。通过上述方式,当后端模块出现需要获取多次参考电压值的情况时,后端模块可以获取存储于本身的参考电压值,避免了后端模块与管理模块之间产生占用大量的带宽的数据通信,提升了用户对数据的读取效率。
附图说明
图1为本发明实施例中数据读取的方法的SSD的示意图;
图2为本发明应用场景中数据读取的一个流程示意图;
图3为本发明实施例中数据读取的方法的一个实施例示意图;
图4为本发明实施例中数据读取装置的一个实施例示意图;
图5为本发明实施例中数据读取装置的另一个实施例示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种数据读取的方法以及相关装置,实现了数据需要重读的情况下,降低管理模块与后端模块之间的数据通信占用的带宽,提升了用户对数据的读取效率。
应理解,本发明主要应用于固态硬盘(solid state drives,SSD)的数据读取中,其中SSD的闪存类型为与非型闪存(not and flash,Nand Flash),为了便于理解,请查阅图1,图1为本发明实施例中数据读取的方法的SSD的示意图,本发明实施例为应用于SSD的数据读取的方法,下面结合图1展开说明。
如图1所示,SSD中可分为两个部分,分别为主控芯片以及闪存芯片,其中,主控芯片,用于运行包括SSD的固件在内的操作指令,主控芯片中包含后端模块与管理模块,后端模块负责指示闪存芯片的读取、写入以及擦除等操作,管理模块负责管理闪存芯片,闪存芯片负责存储数据。闪存芯片用于存储目标数据,其中闪存芯片为Nand型闪存,根据电子单元密度的差异,Nand型闪存还可以分为单层式存储单元(single-level cell,SLC)、多层式存储单元(multi-level cell,MLC)以及三层式存储单元(trinary-level cell,TLC),此处不对Nand型闪存的类型作限定,在SSD中,通常包含有8、16或32块Nand型闪存芯片组成的阵列。
其中,Nand型闪存芯片的存储基本单元为浮栅晶体管,由上层的控制层、中层的浮栅层上是多晶硅氧化层,服栅层下是隧道氧化层以及下层的衬底(substrate)组成。控制电压很高的时候,会产生量子隧穿效应,电子从衬底出发,穿过隧道氧化层,进入浮栅保存起来,就完成了写操作,充电了。反之,在控制层加很强的负电压,电子就从浮栅量子隧穿,回到衬底,这个操作叫做擦除。当控制层不加电压的时候,在氧化层依然有一个电场产生,叫做本征电场,它是由浮栅里面的电子产生的。在这个电场的作用下,电子会从浮栅慢慢泄露,随着擦除周期(program/erase cycle,P/E cycle)次数的增加,正确编程(Program)需要比阈值电压更高的电压,同时,编程时的电压精度变的更差了,既然阈值电压已经发生了偏移,读取时仍然用正常的读取电压去读取,数据就会发生错误。
因此,出现了一种使用参考电压进行数据读取的纠错方法:Read-Retry。当闪存芯片读取目标数据经过错误检查和纠正(error correcting code,ECC)处理后仍然为失败时,闪存芯片向主控芯片发送读取失败指令,主控芯片接收到读取失败指令后执行Read-Retry操作,主控芯片向闪存芯片发送预设的参考电压值,闪存芯片根据接收到的参考电压值生成对应的参考电压,并使用该参考电压读取目标数据,当此次读取失败时,主控芯片向闪存芯片发送另一预设的参考电压值,闪存芯片根据接收到的参考电压值生成对应的参考电压,并使用该参考电压读取目标数据,直至参考电压值使用完毕时仍未能读取成功则判断读取失败。
为了便于理解,下面将结合图1以及图2介绍本发明,请参阅图2,图2为本发明应用场景中数据读取的一个流程示意图,如图所示,具体地:
固态硬盘接收到***发送的读取数据指令后,主控芯片上的管理模块根据该读取数据指令生成读请求,并将该读请求发送至后端模块中,此次发送的读请求为正常读取请求(normal read),主控芯片通过后端模块读取闪存芯片中的目标数据,当闪存芯片经过ECC处理后为读取失败时,主控芯片通过管理模块获取数据重读指令,主控芯片根据数据重读指令从预设重读序列中确定第一参考电压值,其中,预设重读序列存储于主控芯片的后端模块中;主控芯片根据第一参考电压值从闪存芯片中读取目标数据。当此次读取经过ECC处理后仍然为读取失败时,主控芯片通过管理模块获取数据重读指令,主控芯片根据数据重读指令从预设重读序列中确定第二参考电压值,主控芯片根据第二参考电压值从闪存芯片中读取目标数据。以此类推,直至第N次读取失败时,此处的N为大于2的整数,N的具体数值取决与存储于主控芯片的后端模块中的预设重读序列,预设重读序列由生产Nand闪存芯片的厂商制定,为一个有N个数组成的表格,一般有8个、10个或12个数组成,输出读取失败指令。当ECC处理后读取为成功时,则输出读取成功指令并输出读取到的目标数据。
下面对本发明中数据读取的方法进行介绍,请参阅图3,本发明实施例中数据读取的方法的一个实施例示意图,包括:
101、主控芯片通过管理模块获取数据重读指令;
本实施例中,在闪存芯片读取数据失败时,闪存芯片向运行于SSD主控芯片中的后端模块发送读取失败指令,主控芯片中的后端模块向主控芯片中的管理模块转发该指令,管理模块根据该指令生成数据重读指令,数据重读指令用于指示SSD执行Read-Retry操作。
102、主控芯片根据数据重读指令从预设重读序列中确定第一参考电压值;
本实施例中,主控芯片根据管理模块生成的数据重读指令,从预设重读序列中确定第一参考电压值,预设重读序列存储于后端模块中,预设重读序列中还存在多个参考电压值,参考电压值的格式为十六进制的数据。
103、主控芯片根据第一参考电压值从闪存芯片中读取目标数据。
本实施例中,主控芯片中的后端模块根据所确定的第一参考电压值从闪存芯片中读取目标数据。
本发明实施例中,提供了一种数据读取的方法,首先,主控芯片通过管理模块获取数据重读指令,然后,主控芯片根据数据重读指令从预设重读序列中确定第一参考电压值,最后,主控芯片根据第一参考电压值从闪存芯片中读取目标数据。通过上述方式,当后端模块出现需要获取参考电压值的情况时,后端模块可以获取存储于本身的参考电压值,避免了后端模块与管理模块之间产生占用大量的带宽的数据通信,提升了用户对数据的读取效率。
可选地,在图3对应实施例的基础上,本发明实施例提供的第二种数据读取的方法的实施例中,主控芯片根据第一参考电压值从闪存芯片中读取目标数据,包括:
主控芯片将第一参考电压值发送至闪存芯片;
闪存芯片根据第一参考电压值生成第一参考电压;
闪存芯片根据第一参考电压读取目标数据。
本实施例中,SSD上的主控芯片中后端模块将第一参考电压值发送至闪存芯片中,闪存芯片根据接收到的第一参考电压值生成闪存芯片可使用的第一参考电压,闪存芯片根据第一参考电压读取目标数据。
本发明实施例中,当主控芯片中的后端模块从存储在本地的预设重读序列中确定第一参考电压值后,将该第一参考电压值发送至闪存芯片中,闪存芯片根据接收到的第一参考电压值生成可用于读取数据的第一参考电压,并根据生成的第一参考电压读取目标数据。以便于后续步骤的展开,提升的方案的可行性。
可选地,在上述图3对应的实施例的基础上,本发明实施例提供的数据读取的方法的第三个实施例中,闪存芯片根据第一参考电压读取目标数据之后,还包括:
若闪存芯片根据第一参考电压读取目标数据成功时;
闪存芯片向主控芯片发送读取成功指令,读取成功指令中携带有目标数据;
若闪存芯片根据第一参考电压读取目标数据失败时;
闪存芯片向主控芯片发送读取失败指令。
本实施例中,当闪存芯片根据第一参考电压读取目标成功时,闪存芯片向主控芯片发送读取成功指令,读取成功指令中携带目标数据;当闪存芯片根据第一参考电压读取目标数据,经过ECC处理仍然为失败时,闪存芯片向主控芯片发送读取失败指令,以指示主控芯片执行Read-Retry操作。
本发明实施例中,提供了一种当闪存芯片使用第一参考电压读取目标数据后,闪存芯片的执行方法,当读取失败时,闪存芯片通过向主控芯片发送的读取失败指令,避免了使用参考电压一次读取失败就结束读取,提升了读取成功率。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的数据读取的方法的第四个实施例中,闪存芯片向主控芯片发送读取失败指令之后,还包括:
主控芯片通过管理模块获取读取失败指令,并根据读取失败指令生成数据重读指令;
主控芯片根据数据重读指令从预设重读序列中确定第二参考电压值,其中,预设重读序列还包含多个参考电压值;
主控芯片根据第二参考电压值从闪存芯片中读取目标数据。
本实施例中,主控芯片通过管理模块获取读取失败指令,并根据读取失败指令生成数据重读指令,主控芯片根据数据重读指令从预设重读序列中确定第二参考电压值,其中,预设重读序列还包含多个参考电压值,主控芯片根据第二参考电压值从闪存芯片中读取目标数据。
本发明实施例,提供了当使用第一参考电压读取失败后,主控芯片端执行的步骤,提升了方案的可行性。
可选地,在上述图2对应的第一至第四个实施例中任一项的基础上,本发明实施例提供的数据读取的方法第五个可选实施例中,主控芯片通过管理模块获取数据重读指令之前,方法还包括:
主控芯片通过管理模块向后端模块发送读请求,读请求用于指示后端模块读取闪存芯片中的目标数据。
本实施例中,主控芯片通过管理模块接收外界***发送的数据读取请求,主控芯片通过管理模块将该读请求发送至后端模块中,该读请求用于指示后端模块读取闪存中的目标数据。
本发明实施例中,提供了数据读取请求的来源以及在主控芯片中读请求的处理方式,提升了方案的可行性。
下面对本发明中数据读取装置进行详细描述,请参阅图4,图4为本发明实施例中数据读取装置的一个实施例示意图,本发明实施例提供的数据读取装置20的第一个实施例中,数据读取装置20包括:
获取模块201,用于当数据读取失败时,通过管理模块获取数据重读指令;
确定模块202,用于根据获取模块获取的数据重读指令从预设重读序列中确定第一参考电压值,其中,预设重读序列存储于主控芯片的后端模块中;
读取模块203,用于根据确定模块确定的第一参考电压值从闪存芯片中读取数据。
本实施例中,获取模块201,用于当数据读取失败时,通过管理模块获取数据重读指令;确定模块202,用于根据获取模块获取的数据重读指令从预设重读序列中确定第一参考电压值,其中,预设重读序列存储于主控芯片的后端模块中;读取模块203,用于根据确定模块确定的第一参考电压值从闪存芯片中读取数据。
本发明实施例中,提供了一种数据读取装置,首先,主控芯片通过管理模块获取数据重读指令,然后,主控芯片根据数据重读指令从预设重读序列中确定第一参考电压值,最后,主控芯片根据第一参考电压值从闪存芯片中读取目标数据。通过上述方式,当后端模块出现需要获取参考电压值的情况时,后端模块可以获取存储于本身的参考电压值,避免了后端模块与管理模块之间产生占用大量的带宽的数据通信,提升了用户对数据的读取效率。
可选地,在上述图4对应的实施例的基础上,请参阅图5,本发明实施例提供的数据读取装置20的第二个实施例中,数据读取装置20还包括发送模块204以及生成模块205;
发送模块204,具体用于根据主控芯片将第一参考电压值发送至闪存芯片;
生成模块205,具体用于根据第一参考电压值生成第一参考电压;
读取模块203,具体用于根据第一参考电压读取目标数据。
本发明实施例中,当主控芯片中的后端模块从存储在本地的预设重读序列中确定第一参考电压值后,将该第一参考电压值发送至闪存芯片中,闪存芯片根据接收到的第一参考电压值生成可用于读取数据的第一参考电压,并根据生成的第一参考电压读取目标数据。以便于后续步骤的展开,提升的方案的可行性。
可选地,在上述图5对应的实施例的基础上,本发明实施例提供的数据读取装置20的第三个实施例中,
发送模块204,还用于闪存芯片根据第一参考电压读取目标数据成功之后,向主控芯片发送读取成功指令,读取成功指令中携带有目标数据;
发送模块204,还用于闪存芯片根据第一参考电压读取目标数据失败之后,向主控芯片发送读取失败指令。
本发明实施例中,提供了一种当闪存芯片使用第一参考电压读取目标数据后,闪存芯片的执行方法,当读取失败时,闪存芯片通过向主控芯片发送的读取失败指令,避免了使用参考电压一次读取失败就结束读取,提升了读取成功率。
可选地,在上述本发明实施例提供的数据读取装置20的第三个实施例的基础上,本发明实施例提供的数据读取装置20的第四个实施例中,
获取模块201,还用于通过管理模块获取读取失败指令,并根据读取失败指令生成数据重读指令;
确定模块202,还用于根据数据重读指令从预设重读序列中确定第二参考电压值,其中,预设重读序列还包含多个参考电压值;
读取模块203,还用于根据第二参考电压值从闪存芯片中读取目标数据。
本发明实施例,提供了当使用第一参考电压读取失败后,主控芯片端执行的步骤,提升了方案的可行性。
可选地,在上述图4至图5对应的数据读取装置20的第一个至第四个实施例中任一项的基础上,本发明实施例提供的数据读取装置20的第五个实施例中,
发送模块204,还用于向后端模块发送读请求,读请求用于指示后端模块读取闪存芯片中的目标数据。
本发明实施例中,提供了数据读取请求的来源以及在主控芯片中读请求的处理方式,提升了方案的可行性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据读取的方法,其特征在于,包括:
当数据读取失败时,主控芯片通过管理模块获取数据重读指令;
所述主控芯片根据所述数据重读指令从预设重读序列中确定第一参考电压值,其中,所述预设重读序列存储于所述主控芯片的后端模块中;
所述主控芯片根据所述第一参考电压值从闪存芯片中读取目标数据。
2.根据权利要求1所述的方法,其特征在于,所述主控芯片根据所述第一参考电压值从所述闪存芯片中读取所述目标数据,包括
所述主控芯片将所述第一参考电压值发送至所述闪存芯片;
所述闪存芯片根据所述第一参考电压值生成第一参考电压;
所述闪存芯片根据所述第一参考电压读取所述目标数据。
3.根据权利要求2所述的方法,其特征在于,所述闪存芯片根据所述第一参考电压读取所述目标数据之后,所述方法还包括:
若所述闪存芯片根据所述第一参考电压读取所述目标数据成功时;
所述闪存芯片向所述主控芯片发送读取成功指令,所述读取成功指令中携带有所述目标数据;
若所述闪存芯片根据所述第一参考电压读取所述目标数据失败时;
所述闪存芯片向所述主控芯片发送读取失败指令。
4.根据权利要求3所述的方法,其特征在于,所述闪存芯片向所述主控芯片发送所述读取失败指令之后,所述方法还包括:
所述主控芯片通过所述管理模块获取所述读取失败指令,并根据所述读取失败指令生成所述数据重读指令;
所述主控芯片根据所述数据重读指令从预设重读序列中确定第二参考电压值,其中,所述预设重读序列还包含多个参考电压值;
所述主控芯片根据所述第二参考电压值从所述闪存芯片中读取所述目标数据。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述主控芯片通过所述管理模块获取所述数据重读指令之前,所述方法还包括:
所述主控芯片通过所述管理模块向所述后端模块发送读请求,所述读请求用于指示所述后端模块读取所述闪存芯片中的所述目标数据。
6.一种数据读取装置,其特征在于,包括:
获取模块,用于当数据读取失败时,通过管理模块获取数据重读指令;
确定模块,用于根据所述获取模块获取的所述数据重读指令从预设重读序列中确定第一参考电压值,其中,所述预设重读序列存储于所述主控芯片的所述后端模块中;
读取模块,用于根据所述确定模块确定的所述第一参考电压值从闪存芯片中读取目标数据。
7.根据权利要求6所述的数据读取装置,其特征在于,
发送模块,具体用于根据所述主控芯片将所述第一参考电压值发送至所述闪存芯片;
生成模块,具体用于根据所述第一参考电压值生成第一参考电压;
读取模块,具体用于根据所述第一参考电压读取所述目标数据。
8.根据权利要求7所述的数据读取装置,其特征在于,
发送模块,还用于所述闪存芯片根据所述第一参考电压读取所述目标数据成功之后,向所述主控芯片发送读取成功指令,所述读取成功指令中携带有所述目标数据;
发送模块,还用于所述闪存芯片根据所述第一参考电压读取所述目标数据失败之后,向所述主控芯片发送读取失败指令。
9.根据权利要求8所述的数据读取装置,其特征在于,
获取模块,还用于通过所述管理模块获取所述读取失败指令,并根据所述读取失败指令生成所述数据重读指令;
确定模块,还用于根据所述数据重读指令从预设重读序列中确定第二参考电压值,其中,所述预设重读序列还包含多个参考电压值;
读取模块,还用于根据所述第二参考电压值从所述闪存芯片中读取所述目标数据。
10.根据权利要求6至9中任一项所述的数据读取装置,
发送模块,还用于向所述后端模块发送读请求,所述读请求用于指示所述后端模块读取所述闪存芯片中的所述目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836125.6A CN109062511B (zh) | 2018-07-26 | 2018-07-26 | 一种数据读取的方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836125.6A CN109062511B (zh) | 2018-07-26 | 2018-07-26 | 一种数据读取的方法以及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062511A true CN109062511A (zh) | 2018-12-21 |
CN109062511B CN109062511B (zh) | 2021-12-17 |
Family
ID=64835737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810836125.6A Active CN109062511B (zh) | 2018-07-26 | 2018-07-26 | 一种数据读取的方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062511B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947841A (zh) * | 2019-11-26 | 2021-06-11 | 珠海零边界集成电路有限公司 | 一种读取嵌入式闪存数据的方法、装置、设备及存储介质 |
WO2021121132A1 (zh) * | 2019-12-19 | 2021-06-24 | 江苏芯盛智能科技有限公司 | 固态硬盘数据重读方法、装置和固态硬盘 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622595A (zh) * | 2006-12-06 | 2010-01-06 | 弗森多***公司(dba弗森-艾奥) | 用于服务器内的存储区域网络的装置、***和方法 |
US20150188575A1 (en) * | 2013-12-27 | 2015-07-02 | Silicon Motion, Inc. | Data Storage Device and Error Correction Method Thereof |
CN106251903A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储***及其操作方法 |
US20170075574A1 (en) * | 2014-03-24 | 2017-03-16 | Hitachi, Ltd. | Non-volatile memory device, and storage apparatus having non-volatile memory device |
CN106843771A (zh) * | 2017-01-26 | 2017-06-13 | 合肥兆芯电子有限公司 | 存储器重读方法、存储器控制电路单元及存储器存储装置 |
CN107240411A (zh) * | 2016-03-29 | 2017-10-10 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN107240418A (zh) * | 2016-03-28 | 2017-10-10 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
US20180046527A1 (en) * | 2016-08-15 | 2018-02-15 | Sandisk Technologies Llc | Memory system with a weighted read retry table |
-
2018
- 2018-07-26 CN CN201810836125.6A patent/CN109062511B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622595A (zh) * | 2006-12-06 | 2010-01-06 | 弗森多***公司(dba弗森-艾奥) | 用于服务器内的存储区域网络的装置、***和方法 |
US20150188575A1 (en) * | 2013-12-27 | 2015-07-02 | Silicon Motion, Inc. | Data Storage Device and Error Correction Method Thereof |
US20170075574A1 (en) * | 2014-03-24 | 2017-03-16 | Hitachi, Ltd. | Non-volatile memory device, and storage apparatus having non-volatile memory device |
CN106251903A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN107240418A (zh) * | 2016-03-28 | 2017-10-10 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN107240411A (zh) * | 2016-03-29 | 2017-10-10 | 爱思开海力士有限公司 | 存储***及其操作方法 |
US20180046527A1 (en) * | 2016-08-15 | 2018-02-15 | Sandisk Technologies Llc | Memory system with a weighted read retry table |
CN106843771A (zh) * | 2017-01-26 | 2017-06-13 | 合肥兆芯电子有限公司 | 存储器重读方法、存储器控制电路单元及存储器存储装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947841A (zh) * | 2019-11-26 | 2021-06-11 | 珠海零边界集成电路有限公司 | 一种读取嵌入式闪存数据的方法、装置、设备及存储介质 |
WO2021121132A1 (zh) * | 2019-12-19 | 2021-06-24 | 江苏芯盛智能科技有限公司 | 固态硬盘数据重读方法、装置和固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
CN109062511B (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
US10347349B2 (en) | Method and device for fail-safe erase of flash memory | |
CN104765568B (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI569139B (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 | |
US20120272123A1 (en) | Data writing method, memory controller and memory storage apparatus | |
TW201314449A (zh) | 儲存資料之系統及方法 | |
TW201437807A (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
CN109491588B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TWI495998B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
CN114127677B (zh) | 用于写高速缓存架构中的数据放置的方法和*** | |
CN108255630A (zh) | 一种降低固态硬盘异常掉电处理时间的方法 | |
TW202038232A (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111258505B (zh) | 快闪存储器的数据合并方法、控制电路单元与存储装置 | |
CN109062511A (zh) | 一种数据读取的方法以及相关装置 | |
TWI534814B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI548991B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN108762989B (zh) | 固态硬盘的数据存储方法、装置、设备及可读存储介质 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TWI732642B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
US11914510B2 (en) | Layer interleaving in multi-layered memory | |
US20230051018A1 (en) | Memory system and method of operating the same | |
CN101752010B (zh) | 闪存控制器及设定闪存的错误修正码容量的方法 | |
CN107132989B (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 |