CN106484557B - 选择读参数的方法及装置 - Google Patents
选择读参数的方法及装置 Download PDFInfo
- Publication number
- CN106484557B CN106484557B CN201510548935.8A CN201510548935A CN106484557B CN 106484557 B CN106484557 B CN 106484557B CN 201510548935 A CN201510548935 A CN 201510548935A CN 106484557 B CN106484557 B CN 106484557B
- Authority
- CN
- China
- Prior art keywords
- mistake
- parameter
- read
- reading parameter
- clock signal
- 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
Links
Abstract
本发明涉及电子设备技术领域,公开了一种选择读参数的方法及装置。本发明中,选择读参数的方法,包含以下步骤:降低存储器与应用处理器的输出驱动能力;对存储器进行数据的读操作,并选出错误的读参数,如果选不出错误的读参数,则继续降低存储器与应用处理器的输出驱动能力,直至选出错误的读参数;其中,错误的读参数对应的时钟信号为第一时钟信号;从第一时钟信号所在的采样周期内,选择第二时钟信号对应的采样点的读参数;其中,第二时钟信号与所述第一时钟信号相隔预设时长。这样,能够正确有效地挑选出存储器的读参数,解决由于读参数挑选不合理导致的系统死机的问题。
Description
技术领域
本发明涉及电子设备技术领域,特别涉及一种选择读参数的方法及装置。
背景技术
目前,手机存储器常用eMMC(Embedded Multi Media Card,嵌入式多媒体卡)来存储代码和文件,不同厂家的eMMC在设计上存在差别,如果CPU采用同一套读参数对不同厂家的eMMC进行读访问往往会出现概率性死机或无法开机等情况。
其中,挑选eMMC读参数传统办法如下:
eMMC4.5规范中增加了CMD21(第21个命令提示符),此命令功能是tuning(调整)读参数。基本原理为:在eMMC中保存特定的Pattern(码型),其包括128个字节,具体内容见图1所示,其中,101为第1个字节,102为第2个字节,103诶第128个字节。挑选eMMC读参数的具体流程如图2所示,包含步骤201~209,其中,当Host(主机)发出CMD21命令之后,device(设备)收到CMD21便发出128字节数据,Host收到这128字节后,将其与预存的Pattern进行比对,如果完全一致则认为此读参数可用,然后Host修改读参数,当读参数小于最大设定值时,再发送CMD21命令,进行下一次读参数的校验工作,直至读参数等于最大设定值。
但是,选择读参数的方法为内核代码中自带的,在挑选参数时,不一定能够适应每一个应用处理器厂商和存储器厂商,在使用中发现,采用传统的eMMC读写时序挑选方法存在缺陷:会出现所有的读参数都能通过,但在实际应用中仍然会出现系统死机的问题,如图3所示,其中,0、1、2、3、4、5、6分别代表时延为0、1、2、3、4、5、6。
假设应用处理器内部采样时钟有6个点采样点可调,默认采样时钟读delay(时延)=0,可调delay分别为1、2、3、4、5、6,从图3中可以看出,均能够正确采样到有效数据,对于读操作而言是无法通过实际测量获得波形的,只能是根据理论参数来推测读采样波形,对于芯片内部采样电路,也可能是图4所示的采样示意图。
当6个delay采样点都能够正确采样到数据时,这就带来一个问题:当所有采样delay都正确时,是选择读delay=0,选择读delay=3,还是选择读delay=6?假设选择读delay=2,那么对于图3所示,可以正确采到数据,但是如果是内部采样时钟如图4所示,读delay=2将落在采样点边缘,这会导致概率性采错数据,假设在常温下能够采对数据,但是高温或低温下,由于存储器器件受到高低温的影响,驱动输出能力会随着变化,同时数据的延迟时间也可能会有变化,如果出现图5、图6中的情况,读delay=2会出现采错数据的情况。
综上所述,目前采用的方式在挑选读参数时普遍会出现所有读参数均正确情况,这将导致无法正确有效的挑选出读参数,进而会出现系统概率性死机的问题。
发明内容
本发明解决的问题在于提供一种选择读参数的方法及装置,能够正确有效地挑选出存储器的读参数,可以解决由于读参数挑选不合理导致的系统死机的问题。
为解决上述技术问题,本发明的实施方式提供了一种选择读参数的方法,包含以下步骤:
降低存储器与应用处理器的输出驱动能力;
对所述存储器进行数据的读操作,并选出错误的读参数,如果选不出错误的读参数,则继续降低所述存储器与应用处理器的输出驱动能力,直至选出错误的读参数;其中,所述错误的读参数对应的时钟信号为第一时钟信号;
从所述第一时钟信号所在的采样周期内,选择第二时钟信号对应的采样点的读参数;其中,所述第二时钟信号与所述第一时钟信号相隔预设时长。
本发明的实施方式还提供了一种选择读参数的装置,包含:存储器、应用处理器、控制模块、读模块、第一选择模块与第二选择模块;
所述控制模块,用于降低所述存储器与所述应用处理器的输出驱动能力;
所述读模块,用于对所述存储器进行数据的读操作;
所述第一选择模块,用于选出错误的读参数,如果选不出错误的读参数,则触发所述控制模块继续降低所述存储器与应用处理器的输出驱动能力,直至所述第一选择模块选出错误的读参数;其中,所述错误的读参数对应的时钟信号为第一时钟信号;
所述第二选择模块,用于从所述第一时钟信号所在的采样周期内,选择第二时钟信号对应的采样点的读参数;其中,所述第二时钟信号与所述第一时钟信号相隔预设时长。
本发明实施方式相对于现有技术而言,是通过降低存储器与应用处理器的输出驱动能力,来制造较差的环境或者最差的环境,以保证可以选出错误的读参数,进而,选出合理的读参数,这样,能够正确有效地挑选出存储器的读参数,解决由于读参数挑选不合理导致的系统死机的问题。
另外,在对所述存储器进行数据的读操作,并选出错误的读参数的步骤中,可以通过第21条命令(CMD21)选择所述错误的读参数。
进一步地,在对所述存储器进行数据的读操作,并选出错误的读参数的步骤中,如果通过所述CMD21命令选不出所述错误的读参数,则可以从所述存储器中读取数据量大于预设阈值的数据,如果读取的数据中包含的循环冗余校验码CRC出现错误,则根据出错的CRC选出错误的读参数。通过读取较大数据量的数据,增加了选出错误的读参数的概率。
另外,在对所述存储器进行数据的读操作,并选出错误的读参数的步骤中,还可以从所述存储器中读取数据量大于预设阈值的数据,如果读取的数据中包含的循环冗余校验码CRC出现错误,则根据出错的CRC选出错误的读参数。
附图说明
图1是根据现有技术中CMD21命令使用的用于tuning读参数的数据码型示意图;
图2是根据现有技术中读参数流程示意图;
图3是根据现有技术中内部数据采样示意图;
图4是根据现有技术中内部数据采样示意图;
图5是根据现有技术中读delay=2时边沿变缓时数据采样错误示意图;
图6是根据现有技术中读delay=2时输出数据有延迟时数据采样错误示意图;
图7是根据本发明第一实施方式的选择读参数的方法流程图;
图8是根据本发明第一实施方式中的通过CMD21命令选择错误侧读参数的方法流程图;
图9是根据本发明第一实施方式中的通过CRC选择错误的读参数的方法流程图;
图10是根据本发明第一实施方式中的读delay=2时输出数据有延迟时数据采样错误示意图;
图11是根据本发明第二实施方式的选择读参数的方法流程图;
图12是根据本发明第三实施方式的选择读参数的装置的原理框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
本发明的第一实施方式涉及一种选择读参数的方法,具体流程如图7所示,包含如下步骤:
步骤701,通过CMD21(第21条命令)选择错误的读参数。在本步骤中,通过CMD21选择错误的读参数,具体如图8所示,包含以下子步骤:
步骤801,设定读参数。其中,读参数的个数由应用处理器决定,系统一级时钟分频得到二级时钟,二级时钟供给存储器(eMMC)读时钟。读时钟的delay个数由分频比决定,假设二级时钟由一级时钟6分频得到,则delay参数为0、1、2、3、4、5,假设假设二级时钟由一级时钟8分频得到,则delay参数为0、1、2、3、4、5、6、7、8。
步骤802,发送CMD21。具体地说,是主机向存储器发送CMD21。在本实施方式中,存储器可以是嵌入式多媒体卡(eMMC)。
步骤803,读取128字节数据。具体而言,是主机从eMMC读取128字节数据。
步骤804,判断收到的数据与预定的Pattern(码型)是否一致。若是,则执行步骤805,否则,执行步骤807。
步骤805,记录通过筛选的读参数。其中,通过筛选的读参数是正确的读参数。
步骤806,记录未通过筛选的读参数。其中,未通过筛选的读参数为错误的读参数。
步骤807,读参数步长加1。
步骤808,判断读参数步长是否大于最大设定值。若是,则执行步骤702,否则,执行步骤802,也就是,当筛选读参数完毕后进入判断是否存在错误的读参数的步骤。
步骤702,判断是否存在错误的读参数。若是,则执行步骤703,否则,执行步骤704。
步骤703,选出错误的读参数。然后执行步骤708。
步骤704,从存储器中读取数据量大于预设阈值的数据。其中,预设阈值可以为1024K字节。也就是,在本步骤中,从存储器中至少要读取1024K字节的数据。由于读取的数据量比较大,增加了选出错误的读参数的概率,所以,更有助于选出错误的读参数。
具体而言,在本步骤中,如图9所示,包含如下子步骤:
步骤901,设置读参数,并发送读数据块命令。在本步骤中,是主机向eMMC发送读数据块命令。
步骤902,读取数据量大于预设阈值的数据。即从存储器中至少要读取1024K字节的数据。
步骤903,判断读取的数据中包含的CRC(循环冗余校验码)是否出现错误。若是,则执行步骤905,否则,执行步骤904。
步骤904,记录通过筛选的读参数。其中,通过筛选的读参数为CRC正确的数据。
步骤904,记录未通过筛选的读参数。其中,未通过筛选的读参数为CRC错误的数据。
步骤905,读参数步长加1。
步骤906,判断读参数步长是否大于最大设定值。若是,则执行步骤704,否则,执行步骤901,直至读参数大于最大设定值。
步骤705,判断读取的数据包含的CRC是否出现错误。若是,则执行步骤706,否则,则执行步骤707。
步骤706,根据出错的CRC选出错误的读参数。
步骤707,降低存储器与应用处理器的输出驱动能力。在本实施方式中,应用处理器为多媒体应用处理器(MAP)。具体地说,存储器与应用处理器的输出驱动能力从高至低预先设置为若干个级别,每一次降低存储器与应用处理器的输出驱动能力可以仅降低一个级别,若在降低存储器与应用处理器的输出驱动能力后仍选不出错误的读参数,则继续降低存储器与应用处理器的输出驱动能力,直至降低至最低级别的输出驱动能力。通过降低存储器与应用处理器的输出驱动能力,可以制造较差的环境,增加选出错误的读参数的概率。当存储器与应用处理器的输出驱动能力降低至最低级别时,制造的环境最差,此时,一定可以保证选出错误的读参数。
步骤708,从与错误的读参数对应的第一时钟信号所在的采样周期内,选择第二时钟信号对应的采样点的读参数。其中,错误的读参数对应的时钟信号为第一时钟信号,第二时钟信号与第一时钟信号相隔预设时长。在本实施方式中,预设时长可以是二分之一的采样周期。由于错误的读参数对应的第一时钟信号在采样周期的边缘,所以,在同一采样周期内,与第一时钟信号相隔二分之一的采样周期的时钟信号对应的采样点的读参数是合理有效的。通过半周期反转确保可以获取合理有效的读参数。
如图10所示,如果当时延为2时对应的参数(为便于描述,记为参数2)为错误的读参数时,由于参数2的时钟信号在采样周期的边缘,从图10可知,参数5的时钟信号落在采样周期的中间位置,其对应的时钟信号与参数2的时钟信号相隔约半个周期,故而参数5可认为是合理有效的读参数。
步骤709,恢复存储器与应用处理器的输出驱动能力。
与现有技术相比,是通过降低存储器与应用处理器的输出驱动能力,来制造较差的环境或者最差的环境,以保证可以选出错误的读参数,进而,选出合理的读参数,这样,能够正确有效地挑选出存储器的读参数,解决由于读参数挑选不合理导致的系统死机的问题。
本发明的第二实施方式涉及一种选择读参数的方法。第二实施方式在第一实施方式的基础上作了进一步改进,主要改进之处在于:在本发明第二实施方式中,仅采用通过从存储器中读取数据量大于预设阈值的数据,并通过判断数据中包含的CRC是否存在错误来选取错误的读参数,由于本方式读取的数据量较大,可以增大选出错误读参数的概率,所以,可以更快速有效地选取出错误的读参数,进而选出正确的读参数。
具体而言,在本实施方式中,选择读参数的方法,如图11所示,包含步骤1101~1106,其中,步骤1101~1106分别与第一实施方式中的步骤704~709相似,在此不再赘述。
需要说明的是,在实际应用时,还可以将通过CMD21选择错误的读参数与降低存储器与应用处理器的输出驱动能力相结合,选出错误的读参数。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种选择读参数的装置,如图12所示,包含:存储器、应用处理器、控制模块、读模块、第一选择模块与第二选择模块。
控制模块,用于降低存储器与应用处理器的输出驱动能力。
读模块,用于对存储器进行数据的读操作;读模块还用于从存储器中读取数据量大于预设阈值的数据;如果读模块读取的数据中包含的循环冗余校验码(CRC)出现错误,则触发第一选择模块根据出错的CRC选出错误的读参数。
第一选择模块,用于选出错误的读参数,如果选不出错误的读参数,则触发控制模块继续降低存储器与应用处理器的输出驱动能力,直至第一选择模块选出错误的读参数;其中,错误的读参数对应的时钟信号为第一时钟信号。
第二选择模块,用于从第一时钟信号所在的采样周期内,选择第二时钟信号对应的采样点的读参数;其中,第二时钟信号与第一时钟信号相隔预设时长。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (8)
1.一种选择读参数的方法,其特征在于,包含以下步骤:
降低存储器与应用处理器的输出驱动能力;
对所述存储器进行数据的读操作,并选出错误的读参数,如果选不出错误的读参数,则继续降低所述存储器与应用处理器的输出驱动能力,直至选出错误的读参数;其中,所述错误的读参数对应的时钟信号为第一时钟信号;
从所述第一时钟信号所在的采样周期内,选择第二时钟信号对应的采样点的读参数;其中,所述第二时钟信号与所述第一时钟信号相隔预设时长,所述预设时长为二分之一的采样周期。
2.根据权利要求1所述的选择读参数的方法,其特征在于,在对所述存储器进行数据的读操作,并选出错误的读参数的步骤中,
通过第21条命令CMD21选择所述错误的读参数。
3.根据权利要求2所述的选择读参数的方法,其特征在于,在对所述存储器进行数据的读操作,并选出错误的读参数的步骤中,
如果通过所述CMD21命令选不出所述错误的读参数,则从所述存储器中读取数据量大于预设阈值的数据,如果读取的数据中包含的循环冗余校验码CRC出现错误,则根据出错的CRC选出错误的读参数。
4.根据权利要求1所述的选择读参数的方法,其特征在于,在对所述存储器进行数据的读操作,并选出错误的读参数的步骤中,
从所述存储器中读取数据量大于预设阈值的数据,如果读取的数据中包含的循环冗余校验码CRC出现错误,则根据出错的CRC选出错误的读参数。
5.根据权利要求3或4所述的选择读参数的方法,其特征在于,所述预设阈值为1024K字节。
6.根据权利要求1所述的选择读参数的方法,其特征在于,所述存储器为嵌入式多媒体卡eMMC;所述应用处理器为多媒体应用处理器MAP。
7.一种选择读参数的装置,其特征在于,包含:存储器、应用处理器、控制模块、读模块、第一选择模块与第二选择模块;
所述控制模块,用于降低所述存储器与所述应用处理器的输出驱动能力;
所述读模块,用于对所述存储器进行数据的读操作;
所述第一选择模块,用于选出错误的读参数,如果选不出错误的读参数,则触发所述控制模块继续降低所述存储器与应用处理器的输出驱动能力,直至所述第一选择模块选出错误的读参数;其中,所述错误的读参数对应的时钟信号为第一时钟信号;
所述第二选择模块,用于从所述第一时钟信号所在的采样周期内,选择第二时钟信号对应的采样点的读参数;其中,所述第二时钟信号与所述第一时钟信号相隔预设时长,所述预设时长为二分之一的采样周期。
8.根据权利要求7所述的选择读参数的装置,其特征在于,所述读模块还用于从所述存储器中读取数据量大于预设阈值的数据;
如果所述读模块读取的数据中包含的循环冗余校验码CRC出现错误,则触发所述第一选择模块根据出错的CRC选出错误的读参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510548935.8A CN106484557B (zh) | 2015-08-31 | 2015-08-31 | 选择读参数的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510548935.8A CN106484557B (zh) | 2015-08-31 | 2015-08-31 | 选择读参数的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484557A CN106484557A (zh) | 2017-03-08 |
CN106484557B true CN106484557B (zh) | 2019-06-18 |
Family
ID=58236447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510548935.8A Active CN106484557B (zh) | 2015-08-31 | 2015-08-31 | 选择读参数的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484557B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2615770Y (zh) * | 2003-05-30 | 2004-05-12 | 上海华园微电子技术有限公司 | 测试只读存储器的电路 |
CN103854705A (zh) * | 2012-11-30 | 2014-06-11 | 三星电子株式会社 | 用于提供智能存储器架构的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9772651B2 (en) * | 2012-09-14 | 2017-09-26 | Samsung Electronics Co., Ltd. | Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system including the use of a switch command defining an adjustment delay for a data signal |
-
2015
- 2015-08-31 CN CN201510548935.8A patent/CN106484557B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2615770Y (zh) * | 2003-05-30 | 2004-05-12 | 上海华园微电子技术有限公司 | 测试只读存储器的电路 |
CN103854705A (zh) * | 2012-11-30 | 2014-06-11 | 三星电子株式会社 | 用于提供智能存储器架构的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106484557A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737173B (zh) | I2c总线通信控制方法、装置、系统及可读存储介质 | |
US9934165B2 (en) | Apparatus for monitoring data access to internal memory device and internal memory device | |
CN101310255B (zh) | 用于检测处理系统中的存储器装置的配置的方法和设备 | |
CN105320490A (zh) | 用于异步fifo电路的方法和设备 | |
US8184760B2 (en) | Adaptive elastic buffer for communications | |
US20100115184A1 (en) | Flash memory storage system and controller and data protection method thereof | |
US20150339235A1 (en) | Storage controller and method of operating the same | |
US20200293415A1 (en) | Memory training | |
CN108768587A (zh) | 编码方法、设备及可读存储介质 | |
KR100996900B1 (ko) | 메모리 클록 설정 기능을 갖는 정보 처리 장치 및 메모리 클록 설정 방법 | |
CN113470708A (zh) | 写入中间同步码滤波 | |
US8140797B2 (en) | Integrated circuit and method of securing access to an on-chip memory | |
CN106484557B (zh) | 选择读参数的方法及装置 | |
CN102572591B (zh) | 一种高级安全数字电视机顶盒生产方法及装置 | |
CN103401743B (zh) | 一种i2c总线消除干扰信号的方法和装置 | |
CN101493759B (zh) | 一种任意容量异步先入先出存储器的地址控制方法 | |
CN107168902B (zh) | 一种利用dma实现高速can波特率的自动识别方法 | |
EP2735927A2 (en) | Data processing apparatus and method in PLC system | |
US8452920B1 (en) | System and method for controlling a dynamic random access memory | |
CN104123967B (zh) | 半导体装置 | |
CN107844384A (zh) | 一种联锁安全数据的生成方法 | |
CN103810051A (zh) | 一种看门狗异常恢复装置及方法 | |
US8897093B2 (en) | Controlling method of connector, connector, and memory storage device | |
US20060053264A1 (en) | Semiconductor device preventing writing of prohibited set value to register | |
CN100392764C (zh) | 电视机数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20170308 Assignee: Shanghai Li Ke Semiconductor Technology Co., Ltd. Assignor: Leadcore Technology Co., Ltd. Contract record no.: 2018990000159 Denomination of invention: Read parameter selection method and apparatus License type: Common License Record date: 20180615 |
|
EE01 | Entry into force of recordation of patent licensing contract | ||
GR01 | Patent grant | ||
GR01 | Patent grant |