存储器页大小自动检测的利记博彩app

文档序号:6477161阅读:178来源:国知局
专利名称:存储器页大小自动检测的利记博彩app
技术领域
本发明的实施例大体上涉及存储器装置的配置,且更确切地说涉及在信息处理装置的启动序列期间自动确定非易失性存储器装置的页大小以使得能够与密度(例如,存储器容量大小)无关地支持存储器装置。
背景技术
当信息处理装置(IPD)被通电时,其可首先经历启动序列以初始化其各种硬件及/或软件组件。可由具有多图像启动架构的软件来执行所述启动序列,所述多图像启动架构可包括许多可单独编译及维护的代码图像。所述启动序列可通过首先执行初级启动代码而开始。大体来说,所述初级启动代码可存储在芯片上非易失性存储器中且可在制造IPD时固定。在一些情况下,所述初级启动代码可存储在芯片外非易失性存储器中。
在功率循环(完全的切断状态到接通状态或半切断状态到接通状态)之后,IPD可开始执行初级启动代码。作为初级启动代码执行的一部分,IPD可下载二级启动代码或图像,此可为IPD启动过程中的下一步骤。所述二级启动代码可驻存在芯片外非易失性存储器中,并可随产品且也随产品配置而变化。可使用不同类型的存储器装置(例如,NAND快闪、oneNAND快闪、m系统快闪、NOR快闪、EEPROM、 ROM等等)来存储二级启动代码。为下载二级启动代码图像,IPD应知道二级启动代码所驻存的装置的细节(装置类型)及如何下载二级启动代码(用以存取装置的协议、如何存取装置、如何将数据存储在装置中等等)。当在初级启动代码执行期间发生二级启动代码下载时,IPD应具有初级启动代码自身中的信息(关于存储有二级代码的装置及如何下载二级启 动代码)。或者,IPD可能能够在初级启动代码执行期间导出此信息。
一旦IPD完成初级启动代码执行,其便可完成以下检测具有二级代码的装置、二 级代码在所述装置中的位置(例如,地址)及如何存取二级代码。在一些情况下,IPD 可将二级代码从装置下载到芯片上存储器或芯片外存储器,且在一些其它情况下,其可 仅识别二级代码位置及如何对其进行存取。在完成初级启动代码执行之后,IPD开始执 行二级代码。在二级代码图像执行期间,IPD可识别/获悉系统的硬件配置的更多细节(系 统类型、所连接的装置、系统的特征、系统存储器大小、宽度、位置、用以存取系统存 储器的协议等等)还有某一级别的SW配置。
如上文所描述,为下载二级代码,IPD应确定装置类型及其存取方法。由于可能存 在不同类型的需要在初级启动期间存取的装置,所以IPD可执行三个一般步骤来实现对 存储器装置的存取(i)装置类型检测;(ii)总线接口宽度检测;及(iii)装置的页/扇 区大小确定(当所述装置是页/扇区导向时)。IPD在其可存取装置中的二级代码之前应 完成这些步骤。
因此,为了实现正确的操作,IPD可识别其可连接到的非易失性快闪存储器装置的 页/扇区大小。假设IPD识别了存储有二级启动代码的装置类型,则其可接着检测存储 数据的格式。特定类型的快闪装置以页格式来存储数据(例如,NAND、 oneNAND、 m 系统、超AND等等)。装置的页大小可随其密度及装置的类型而变化。给定快闪装置的 页大小可低达(例如)128个字节及高达8千字节或更高。
随着快闪装置密度的增加,页大小相应地增加。可使用不同技术以通过IPD来检测 装置的页大小及接口总线宽度。 一种常规技术可通过具有专用于IPD的外部引脚来编码 页大小及/或总线宽度,且被驱动到这些引脚的值可指示所述装置的页大小及/或总线宽 度。此方法可非常简单;然而,支持所有不同页大小所需的专用引脚的数目可变大。
另一可能的解决方案可将页大小及总线宽度信息存储在快闪装置的第一页中,且硬 件逻辑可在初级启动执行期间从所述快闪装置读取所述第一页(IPD迫使硬件执行此功 能性,或硬件逻辑自动检测并读取所述第一页)。所述解决方案可能不具有针对可在第 一页读取期间出现的随机错误的保护。快闪装置可倾向于随机错误,且如果第一页中的 数据在快闪存储器中被破坏或在IPD从快闪存储器读取数据时被破坏,则存在IPD可能 错误地检测页大小(这可能产生灾难性故障)的可能性。由于在启动时IPD并不知道页 及数据格式,所以无法在此阶段按照惯例添加错误保护。
为改进针对读取故障的保护,可使用独特数字(称为幻数)来编码页大小及总线宽度,所述独特数字提供针对随机错误的保护。可将页大小及总线宽度编码为独特幻数且 将其置于装置的第一页中。IPD可基于存储在第一页中的幻数来检测页大小且接着基于 所述页大小来存取二级启动代码。这暗示必须针对每一快闪装置(页及总线宽度大小) 来编译并维护二级启动代码/图像。由于不同类型的快闪存储器装置的数目持续增长,所 以开发、管理及维护对应于不同快闪装置的单独软件构造可能变得昂贵。
因此,需要一种新的自动页大小检测方法,其可利用普通软件来支持快闪装置配置 以便降低开发及维护成本。

发明内容
本发明的示范性实施例是针对用于存储器页大小自动检测的方法及设备。
本发明的一实施例可包括一种用于自动确定存储器装置的页大小的方法,所述方法 包含接收存储器装置的页大小范围;确定存储器装置的总线宽度;检测具有自动检测 标记的页的数目;及基于所检测的具有自动检测标记的页的数目及所接收的页大小范围 来确定存储器装置的页大小。
另一实施例可包括一种用于自动确定存储器装置的页大小的设备,所述设备包含 经配置以接收存储器装置的页大小范围的逻辑;经配置以确定存储器装置的总线宽度的 逻辑;经配置以检测具有自动检测标记的页的数目的逻辑;及经配置以基于所检测的具 有自动检测标记的页的数目及所接收的页大小范围来确定存储器装置的页大小的逻辑。
另一实施例可包括一种用于自动确定存储器装置的页大小的设备,所述设备包含
用于接收存储器装置的页大小范围的装置;用于确定存储器装置的总线宽度的装置;用
于检测具有自动检测标记的页的数目的装置;及用于基于所检测的具有自动检测标记的
页的数目及所接收的页大小范围来确定存储器装置的页大小的装置。


呈现附图以辅助对本发明的实施例的描述,且提供附图只是为了说明实施例而非对 其进行限制。
图1是信息处理装置的框图,所述信息处理装置可包括处理器、存储器控制器及各 种不同类型的存储器装置。
图2A是驻存在存储器装置内的示范性第一页的图式,所述第一页可用以确定所述 存储器装置的总线宽度。
图2B是展示如何从具有8位总线宽度及16位总线宽度的存储器装置读取示范性第
8一页中的数据的图式。
图3是示范性数据结构的图式,所述数据结构可用以确定存储器装置的总线宽度及 页大小两者。
图4是展示如何将图3中所示的示范性数据结构包含在具有不同页大小的存储器装 置内的图式。
图5是描绘用于检测快闪装置的页大小的示范性过程的流程图。
图6是展示为自动检测标记的数目计数的另一示范性过程的图式。
图7是描绘用于确定与存储器装置相关联的参数的示范性过程的流程图。
图8是描绘快闪存储器装置中的数据结构组织的图式。
具体实施例方式
在针对本发明的特定实施例的以下描述及相关图式中揭示了本发明的若干方面。可 在不脱离本发明的范围的情况下设计替代性实施例。另外,将不详细描述或将省略本发 明的众所周知的元件以免混淆本发明的相关细节。
本文中使用词语"示范性"来意味着"充当实例、例子或说明"。不必将在本文中 被描述为"示范性"的任何实施例解释为比其它实施例更优选或具优势。同样,术语 "本发明的实施例"不要求本发明的所有实施例均包括所论述的特征、优势或操作模 式。本文中使用术语"幻数"来定义基于最小加权算法所确定并用于各种实施例中使得 存储器读取错误可能不具有相关性的数字。本文中使用词语"外部存储器"来意味着并 非位于处理单元的范围内的存储器装置,这又可意味着所述存储器装置并非形成于与处 理单元相同的裸片上。本文中使用词语"内部存储器"来意味着存储器装置形成在与处 理单元相同的裸片上。
此外,将关于(例如)计算装置的元件待执行的动作序列来描述许多实施例。将认 识到,可通过特定电路(例如,专用集成电路(ASIC))、通过由一个或一个以上处理器 执行的程序指令或通过两者的组合来执行本文中所描述的各种动作。另外,可认为本文 中所描述的这些动作序列被完全具体化在任何形式的计算机可读存储媒体内,所述计算 机可读媒体具有存储于其中的对应的计算机指令集,在执行后,所述指令集将使相关联 的处理器执行本文中所描述的功能性。因此,可以多个不同形式来具体化本发明的各种 方面,所述形式均已被涵盖于所主张的标的物的范围内。另外,就本文中所描述的实施 例中的每一者而言,可在本文中将任何所述实施例的对应形式描述为(例如)"经配置 以"执行所描述的动作的"逻辑"。图l是信息处理装置(IPD) 100的框图,所述IPD 100可包括处理器单元110、存 储器控制器120及外部存储器装置130。所述外部存储器装置130可包括各种不同类型 的外部存储器装置,其可包括NAND快闪存储器132、 OneNAND快闪存储器134及/ 或任何其它已知类型的存储器装置136(例如m系统快闪、NOR快闪存储器、EEPROM、 ROM、 SDRAM等等)。存储器控制器120可为用以与上文所提及的不同类型的存储器 装置介接的多个控制器的组合。在完成启动序列之后的正常操作期间,处理器单元110 可经由存储器控制器120从外部存储器装置130读取数据及/或将数据写入到外部存储器 装置130。在完成启动序列之后发生的所述通信可以常规方式发生。
IPD IOO可进一步包括图1中未展示的其它装置(例如,图形、视频、音频、CDMA 及/或GSM/GPRS处理器;1/0接口;等等)。IPD 100可为任何类型的基于计算机的系 统(包括可用于膝上型计算机、个人数字助理(PDA)及/或移动通信装置中的便携型及 /或嵌入式系统)的一部分。举例来说,移动通信装置可为用于移动通信系统中的手机, 且IPD 100可为用于所述手机内的移动台调制解调器(MSMTM)芯片组。处理器可为任 何类型的微处理器及/或微控制器(例如来自ARM9系列的处理器)。存储器控制器可包 括一个或一个以上总线接口及/或多个存储器控制器,以用于多种不同存储器类型。举例 来说,存储器控制器120可具有用以与所有类型的存储器装置介接的单个存储器控制器, 或用以存取所述存储器装置的多个存储器控制器。在图l所示的实施例中,IPD 100可 与NAND 132、 OneNAND快闪存储器134及/或其它类型的存储器136 (例如,m系统 快闪、NOR快闪存储器等等)介接。
当IPD 100被接通或进行功率循环时,处理器单元110可执行冷启动序列以初始化 其各种硬件及/或软件组件。执行启动序列的软件/固件可包括多个单独编译的例行程序, 其中每一例行程序执行启动序列中的一不同功能性。所述启动序列中的初始例行程序可 为初级启动加载程序(PBL),所述PBL设立IPD 100以从非易失性外部存储器装置130 存取及/或下载代码。设立IPD 100可包括识别所连接的非易失性存储器的类型、从此存 储器读取配置数据、处理所述数据并识别系统的存储器配置、按需要配置所述系统中的 存储器装置及将所述代码从非易失性存储器复制到主存储器。PBL可驻存在用于MSMTM 芯片组系列中的各种芯片组的芯片上启动ROM中。当从复位释放处理器单元110时, 可对所述PBL求向量。当在冷启动期间由处理器单元110执行时,PBL可初始化IPD 100 的硬件、初始化处理器单元110内的内部RAM或外部RAM、检测非易失性外部存储器 装置130、加载并处理来自非易失性外部存储器的配置数据、加载随后的启动例行程序。
在一个实施例中,PBL 100可使用非易失性外部存储器装置130中的配置信息来配置存储器接口,所述非易失性外部存储器装置130包括NAND快闪存储器132、 OneNAND快闪存储器134及/或NOR快闪存储器(未图示)。存储器控制器120可能能 够支持与多种存储器装置(包括NAND装置及OneNAND装置)的不同接口数据。
为寻址外部存储器装置130中的任何数据,存储器控制器120应识别外部存储器装 置的类型及如何对其进行存取。IPD IOO可找到所使用的非易失性存储器装置的类型及 其用以存取装置中的数据的协议,以及装置的接口总线宽度。举例来说,如果外部非易 失性存储器是NOR快闪存储器,则IPD100应知道所述NOR快闪存储器的大小(以检 测存取所述NOR快闪存储器所需的地址位的数目)、接口数据总线宽度及如何存取所述 装置中的数据。就NAND、 oneNAND、 m系统及超AND快闪装置而言,IPD 100应知 道页/扇区大小、块大小、接口数据宽度及用以存取数据的协议。页/扇区大小及块大小 指示装置的大小。这可通过检测外部存储器装置130的页大小及总线宽度来实现。 一旦 进行了此操作,便可适当地配置存储器控制器120,因此使得处理器110能够寻址外部 存储器装置130的任何页。本发明的各种实施例可执行对基于页/扇区的快闪装置的页/ 扇区大小检测,使得IPD可适当地配置存储器控制器120以存取所连接的快闪装置130。 可以与所连接的快闪大小(例如,页大小、块大小及接口宽度)无关的方式来执行此操 作。
对于页大小小于或等于512个字节及大于512个字节的NAND及超AND装置而言, 存取协议可能不同。为存取NAND快闪装置,IPD 100应知道装置页大小是否大于512 个字节,使得其可使用正确的协议来存取所述装置。如果IPD 100仅需要支持大于512 个字节的NAND/超AND快闪装置页大小,则可跳过此步骤。类似地,可执行检测接口 数据总线宽度(8位/16位或更大),使得IPD IOO可正确地存取数据。如果IPD 100仅 需要支持固定接口宽度的快闪装置,则也可跳过此步骤。在2005年9月20申请的第 11/231,389号美国专利申请案中描述了一种用于确定NAND快闪装置大小是否大于512 个字节及检测接口数据总线宽度的示范性方法,所述专利申请案被公开为第 2007/0067529号美国专利公开案,其全文以引用的方式并入本文中。下文简要描述了其 细节。
硬件页大小检测
本发明的各种实施例可包括用于基于硬件方法来估计外部存储器130的页大小的过 程。此方法可能能够确定页大小是较小的页大小(512个字节或更小)还是大于或等于 较大的页大小(高于512个字节)。可由存储器控制器120来执行硬件页大小检测,所 述存储器控制器120可首先对外部存储器130执行读取初始化命令(所述命令的细节在
11随后的段落中描述)。存储器控制器120可接着等待特定时间周期(通常大约为几百毫 微秒)。接着,存储器控制器120可通过检査繁忙(BSY)信号来确定存储器装置130 是否正在执行读取命令。如果存储器装置130繁忙,则所述存储器装置具有较小的页大 小。另一方面,如果装置不繁忙,则所述存储器装置具有较大的页大小。之所以发生此 行为,是因为具有较小页装置的存储器装置可用单个命令或操作码(读取初始化命令) 来对读取命令做出反应,而大页大小装置需要两个用于读取操作的读取命令(读取初始 化命令及读取开始命令)。大页装置等待读取开始命令且直到发出读取开始命令其才将 移到繁忙状态。存储器控制器120可检测此差异且识别所连接的NAND/超AND快闪装 置是否为较大页大小。
下文在NAND型存储器装置的上下文中呈现硬件页大小检测的一实例。当外部存储 器装置130是NAND型快闪存储器132时,较小的页大小可为512个字节或更小,且较 大的页大小可大于512个字节(例如,2千字节或更大)。
具有512字节页装置的NAND存储器可使用以下读取命令序列
读取初始化命令(l循环命令);及
数据/页地址命令(3或4或5或更多循环)(如果发出的地址循环比装置所要求 的地址循环多,则所述装置将接受开始时所要求的地址并忽略最后地址循环)。
在发出地址循环之后的特定时间但不迟于几微秒内,装置将通过断言BSY信号而 移到BUSY状态以指示其正在执行读取命令。如果装置用BSY信号来做出响应,则其 为较小页(512个字节或更小)装置。
具有大于512个字节(例如,2千字节的页大小或更大)的NAND存储器在地址循 环之后将不移到BUSY状态。这些装置需要第二读取开始命令或操作码以移到BUSY状 态。并且用于这些装置的读取命令序列为
读取初始化命令(1循环命令);
数据/页地址命令(3或4或5或更多循环)(如果发出更多地址循环,贝IJNAND 装置可接受从开始时所要求的地址并忽略最后的地址循环);及 读取开始命令(l循环命令)。
在发出读取开始命令之后的特定时间但不迟于几微秒内,装置将通过断言BSY信 号而移到BUSY状态以指示其正在执行读取命令。
存储器控制器120可使用以上机制来检测NAND/超AND装置页大小。控制器可在 状态机内执行一过程,所述状态机执行以下动作1)复位所述装置;2)发出读取命令; 3)发出地址循环;4)等待某时间但不迟于几微秒;及5)检查以确定装置是否移到了繁忙状态,且如果移到了繁忙状态,则所述装置具有512个字节或更小的页大小;6) 如果未移到繁忙状态,则发出读取开始命令;7)等待某时间但不迟于几微秒;及8)检
査以确定装置是否移到了繁忙状态,且如果移到了繁忙状态,则所述装置具有大于512 个字节(例如,2千字节或更大)的页大小。
在检测装置页大小之后,存储器控制器120可同时或在其后以8位模式来执行读取 数据传递(即使所连接的装置是16位或更大,所述控制器仍仅使用来自装置的较低8 位数据)。可使用从快闪装置读取的数据来检测总线大小及快闪的任何其它参数。将在 下文更详细地解释总线宽度检测。如上文所提及,第一页中的数据是以独特数字格式(例 如,幻数)来存储的以减小随机错误的可能性。挑选幻数,使得即使在错误的情况下所 得数字仍将并非另一幻数。IPD将检测所述随机错误,因为其知道所预期的幻数且如果 第一页中的数据(使用页大小检测传递的数据)不正确,则PBL可从装置读取另一页(位 于装置的一不同位置中的冗余页)。在不检测页大小的情况下,PBL无法进一步进行下 去且可报告已发生错误状况。
硬件页大小检测方法可能在以下方面受到限制其可能仅能够检测外部存储器装置 130的页大小是小于(例如,512个字节或更小)还是大于或等于较大的页大小(例如, 2千字节或更大)。本文中所呈现的实施例可利用可结合基于硬件的方法而使用的软件页 大小检测技术以克服此限制。
总线宽度检测
图2A是驻存在存储器装置内的示范性数据结构的图式,所述数据结构可用以确定 总线宽度。因为不同类型的外部存储器装置利用不同数据字大小,所以应由PBL在启动 序列期间确定总线宽度。可使用在数据结构中存储在存储器装置130上的配置数据来确 定总线宽度。可通过在使用给定总线宽度来读取代码字之后检查所述代码字而执行此确 定。当使用较窄总线宽度来读取时,可未经更改地返回第一代码字。然而,当使用较宽 的总线宽度时,所述代码字可改变(例如,如下文在图2B的描述中所示,第一代码字 可与第二代码字交错)。通过检查读取命令产生什么数字,可确定存储器装置130的总 线宽度。
进一步参看图2A,配置数据可包括一个或一个以上代码字210、 220。可将所述代 码字写入外部存储器装置130的第一块内的第一页200的最初八个字节中。将代码字210 称作8位幻数,且将220称作配置幻数。所述页的剩余部分可含有所有一 (OxFF)。因 为错误校正编码(ECC)在此过程期间可能不被启用,所以所述代码字可为经特殊选择 的数字以便使读取错误最小化。可使用的一种类别的数字是使用最小加权算法产生的数
13字。可将这些数字称为"幻数",且其可减少相关读取错误。也可使用其它具有避免读 取错误的能力的数字。
在本发明的一实施例(其中外部存储器装置130包括NAND及/或OneNAND装置) 中,呈现以下实例。当前仅可获得16个位的OneNAND快闪装置,当与oneNAND装置 介接时,存储器控制器120可默认被设置为16个位。如果需要,可应用此实施例中描 述的技术来检测oneNAND装置的页大小。然而,存储器控制器可在初始化期间被设置 为8个位。为检测快闪装置的总线宽度是8个位还是16个位或甚至更大,将也被称作 幻数的8个字节的独特数字置于含有配置数据的页的开端。最初4字节数据结构210 (8 位幻数)可保持幻数0x83838383,接下来的4字节数据结构220 (配置幻数)可保持幻 数0x73D71034,而所述页的剩余部分可保持数据0XFF,如图2A中所示。在硬件页大 小检测方法(如上文所解释)期间,软件可请求存储器控制器120从配置数据的块0的 页0读取4个字节的数据。当读取4个字节的数据时,ECC引擎被停用。选择幻数(使 用最小加权算法)而使得当读取数据时,错误不具有相关性。
图2B是展示如何从具有8位总线宽度及16位总线宽度的存储器装置读取数据结构 200中的数据的图式。因为对于不同总线宽度的装置而言,所读取的4个字节的数据将 不同,所以可使用执行读取操作之后所接收的数据来确定存储器装置130的总线宽度。 当装置使用8位总线宽度来读取最初4个字节时,第一代码字可经读取而未被更改。然 而,当装置具有16位总线宽度时,读取命令将返回一值,所述值使第一代码字与第二 代码字的最低有效位交错。
更具体来说,就8位快闪装置而言,应返回原始8位幻数值0x83838383。就16位 快闪装置而言,快闪存储器应在读取操作期间返回16个位的数据。在16位装置中发生 此交错,因为存储器控制器130仍被配置为具有8位宽的总线,因此其将仅读取8个最 低有效位且忽视8个最高有效位。因此,控制器将读取交错值0xD7348383。基于所返 回的数据,IPD检测总线接口宽度。尽管仅针对8位及16位来描述此实施例中给出的实 例,但可将相同技术应用于具有更高位宽度的接口。
软件页大小检测
图3是存储器装置130内的示范性数据结构300的图式,所述数据结构300可用以 确定存储器装置130的总线宽度及页大小两者。为执行自动页大小检测算法,存储器装 置130可具有所添加的用于确定存储器装置130的页大小的若干区段的"虚数据"。每 一区段305可包括三个代码字310到330,其中所述区段的剩余部分含有虚数据。此虚 数据可为全部为"1"的数据或加载有在制造之后伴随快闪装置一起而来的预设数据。唯一的条件是存储在三个幻数(8位幻数、配置幻数、自动检测幻数)之后的数据应为 已知值,以便可对数据进行错误校正。如上文所描述,可使用代码字310及320来确定 总线宽度。第三代码字可为自动检测标记,可由算法使用所述自动检测标记来确定存储 器装置130的页大小。尽管图3将代码字的示范性大小指示为4个字节,但当然可使用 其它大小。在各种实施例中,所述代码字中的每一者可为幻数以便使读取错误最小化。 下文将在图5的描述中呈现所述算法的细节。
PBL100可能遇到的页大小的范围将为已知的,因为其将表示可支持的最大(MAX) 及最小(MIN)可允许页大小,其可被预定义。在一些情况下,MAX及MIN页大小在 制造IPD时被固定,且在一些其它情况下,这些数字可在制造IPD之后编程,但在将其 发送给客户之前被固定。每一区段305的大小可等于MIN页大小。所支持的MAX及 MIN页大小将确定需要添加的区段的数目。由以下比率来表达区段的数目
区段数目=(MAX页大小/MIN页大小)
在本发明的一实施例中,可用幻数来标记每一区段305的最初12个字节,如图3 中所示。类似于上文所描述的总线宽度检测方法,每一区段305的最初8个字节可保持 8位幻数310及配置幻数320。可将一幻数的另外4个字节(自动检测幻数)放置在最 初8个字节后面。软件页大小检测方法将检查所述自动检测幻数以使用下文所解释的算 法导出页大小。
图4是展示如何将图3中所示的示范性数据结构包含在具有不同页大小的存储器装 置内的图式。随着存储器装置130的页大小改变,可存储在每一页中的区段的数目也将 改变。可使用以下等式通过所附接的装置的页大小来确定配合所有区段可能需要的页的 数目
页数目=(区段数目)* (MIN页大小) (装置页大小)
下文针对不同页大小呈现多个实例。图4中图示表示每一实例,其展示了与三种不 同页大小(512千字节(410)、 2千字节(420)及4千字节(430))相关联的数据结构。 数字实例如下。
假设MAX页大小=4千字节且MIN页大小=512个字节,则区段数目将为8。此暗 示用以配合所有8个区段的页的数目将为
-对于512字节页大小的装置而言为8页(因为装置的页大小是512个字节,所以需要8个页来配合8个区段、512个字节的数据);
-对于2千字节页大小的装置而言为2页(因为装置的页大小是2千字节,所以需 要2个页来配合8个区段、512个字节的数据(每页4个512字节));及
-对于4千字节页大小的存储器装置而言为1页(8个区段、512个字节的数据将 配合在4千字节页装置的单页中)。
如下文将在图5的描述中解释,可直接由处理器单元110通过为自动检测标记计数 来确定页大小的数目(示范说明为图4中所示的"自动检测幻数")。
图5是描绘用于确定快闪存储器装置的页大小的示范性过程500的流程图。所述过 程将通过确定所支持的存储器装置130的页大小的范围(亦即,确定MIN值及MAX值) 而开始。MIN值及MAX值可为预设值。可接着通过获得MAX页大小值与MIN页大小 值的比率来确定所标记的区段的数目(方框510)。可接着由存储器控制器120执行硬件 页大小检测以确定存储器装置130是否具有大于512字节的页大小(方框520)。可接着 由处理器单元IIO来检测存储器装置130的总线宽度(方框530)。处理器单元110可接 着检测具有自动检测标记的页的数目(方框540)。处理器单元IIO将执行读取操作序列 以检测具有自动检测标记的页的数目(方框540)。处理器单元IIO可接着基于所读取的 具有自动检测标记的页的数目来计算存储器装置130的页大小(方框550)。注意,当IPD 100正在存取NAND快闪装置时,其可使用硬件页大小检测来检测所连接的装置的页大 小是否大于512个字节,并使用此信息以向装置发出读取命令。
因为可将存储器装置130中的数据存储在页中,所以从存储器控制器120到存储器 装置130的存取可导致存取整个页。因此,与存储器装置130相关联的写入或读取将为 页定向的。因为具有较大页大小的存储器装置130能够存储较多数目的区段305,所以 从存储器装置130读取数据的存储器控制器120将读取含有幻数的较少页。如果用正确 的自动检测标记(例如,幻数)来标记存储器装置130中的最初两页,则处理器单元110 可使用下文所示的公式(512*8/2=2K)来断定所附接的装置具有2千字节页大小。如果 自动检测标记仅存在于第一页而不存在于第二页中,则可再次基于下文所示的公式 (512*8/1=4K)来断定所附接的装置大于4千字节页大小。
可使用下文的公式来找到装置的页大小:
装置页大小=(MIN页大小)* (所标记的区段的数目)
所读取的页的数目一旦确定了存储器装置的页大小及总线宽度,现在便可将存储器控制器120配置成 正确设定。
图6是描绘用于确定与存储器装置相关联的参数的另一示范性过程600的流程图。 首先,可获得MAX页大小及MIN页大小,因为这些页大小通常是预定义的值(方框 615)。可计算用自动页检测标记来标记的区段的数目(方框620)。如果需要,则可接着 执行硬件页大小检测以确定页大小是否大于512个字节(方框625)。如果不需要,则可 跳过此步骤。
方框630可执行以下动作将用幻数标记的最大页设置成所标记的MAX页;将幻 数的字节位置设置成8;及设置指针位置以存储来自装置的数据。接下来,可调用一用 以检测用幻数标记的页的数目的函数调用(下文在图7中及在相关联的描述中呈现其细 节)(方框635)。所述函数调用可返回所读取的具有自动检测幻数的页的数目。可接着 执行一条件以检査由函数调用返回的页的数目是否为零(方框640)。如果为零,则将从 其读取配置数据的页的数目设置成O (方框645),且所述过程返回。如果所标记的页的 数目在方框640中不是零,则计算装置页大小(方框650)且所述过程接着返回。
图7是描绘用于为自动检测标记的数目计数的示范性过程的流程图。首先,可获得 以下参数用幻数标记的MAX页;幻数的字节位置(将"x"设置成此值(作为一实例, 所述位置被展示为8));及用以存储可从装置读取的数据的指针位置(方框715)。可接 着将所读取的页的数目初始化为0 (方框720)。可执行一条件以确定所读取的页的数目 是否小于或等于用幻数标记的最大页(方框725)。如果如此,则可读取所述页(方框 730),且可接着执行另一条件以检查所读取的页的字节"x"是否用代码字标记(方框 735)。如果如此,则使页计数器递增(方框755),且所述过程返回到方框725。如果未 达到方框735中的条件,则可执行另一条件检查以确定所读取的页的数目是否小于或等 于用幻数标记的页的最大数目(方框740)。如果方框740中执行的条件成立,则过程 700返回所读取的页的数目(方框750);且如果方框740中的条件不成立,则调用一错 误控制处理程序(方框745)。又,如果方框725中执行的条件不成立,则调用所述错误 处理程序(方框745)。
存储器控制器120可在于方框735中检查幻数的字节x之前在方框730中对读取的 数据执行错误校正。存储器控制器120可在错误校正检查期间检查数据完整性。此错误 校正检查的结果可包括以下情形。控制器可检测从装置读取的数据是完整的且未检测到 错误。在此情况下,处理将相应地继续进行。或者,控制器120可检测到错误,其中所 检测的错误的数 小于可校正错误的最大数目(基于所使用的ECC算法)。在此情况下,控制器120可校正错误且接着相应地继续进行。或者,控制器120可检测到无法校正的 错误。在此情况下,控制器120可将处理控制返回到错误处理程序。错误校正将为存储 在装置中的幻数提供额外保护以防随机错误。
本发明的各种实施例可启用ECC操作,以便可由幻数以及常规ECC算法来保护页 检测过程的完整性。此方法组合可提供一种用以确定快闪装置的页大小的更稳固的方 式。
图8是展示具有一区段的虚数据的另一示范性数据结构800的图式。基于系统要求, 可将配置数据存储在紧接具有自动检测幻数的最后页的页中,或可将多个页的虚数据添 加在具有自动检测幻数的最后页与配置数据之间(如图8中所示)。也可针对IPD预定 义具有虚数据的页的数目,使得在检测装置页大小之后,IPD可跳过虚数据页并读取配 置数据。在图8中,IPD仅检测到最初2页(页0及页1)具有自动检测幻数。如上文 所给出的实例,基于以上公式,如果MIN页大小=512个字节,则具有自动检测幻数的 区段的数目=8,装置页大小=2千字节(512*8/2)。其还具有2页虚数据,且因此IPD将 跳到页数4以读取二级启动代码。有可能IPD未将虚数据页插入到具有自动检测幻数的 最后页后面,且在此情况下,如图8中所示,IPD将开始从页2读取二级代码。
所属领域的技术人员将了解,可使用多种不同技艺及技术中的任一者来表示信息及 信号。举例来说,可通过电压、电流、电磁波、磁场或粒子、光场或粒子或其任何组合 来表示可贯穿以上描述而引用的数据、指令、命令、信息、信号、位、符号及码片。
此外,所属领域的技术人员将了解,可将结合本文中所揭示的实施例描述的各种说 明性逻辑块、模块、电路及算法步骤实施为电子硬件、计算机软件或两者的组合。为清 楚地说明硬件与软件的此互换性,各种说明性组件、块、模块、电路及步骤大体已在上 文就其功能性而描述。将此功能性实施为硬件还是软件取决于特定应用及强加于整个系 统的设计约束。熟练技工可针对每一特定应用而以不同方式来实施所描述的功能性,但 所述实施决策不应解释为导致脱离本发明的范围。
可直接以硬件、以由处理器执行的软件模块或以所述两者的组合来体现结合本文中 所揭示的实施例来描述的方法、序列及/或算法。软件模块可驻存在RAM存储器、快闪 存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器或此项技术中已知 的任何其它形式的存储媒体中。将示范性存储媒体耦合到处理器,使得所述处理器可从 所述存储媒体读取信息及将信息写入到所述存储媒体。在替代方案中,所述存储媒体可 与所述处理器成一体。
因此,本发明的一实施例可包括体现一种用于存储器页大小自动检测的方法的计算机可读媒体。因此,本发明并不限于所说明的实例且用于执行本文中所描述的功能性的 任何装置均包括在本发明的实施例中。
尽管上述揭示内容展示了本发明的说明性实施例,但应注意,可在不脱离如随附权 利要求书界定的本发明的范围的情况下在本文中做出各种改变及修改。无需以任何特定 次序来执行根据本文中所描述的本发明的实施例的方法技术方案的功能、步骤及/或动 作。此外,尽管可以单数来描述或主张本发明的元件,但除非明确声明限于单数,否则 涵盖复数。
权利要求
1.一种用于自动确定存储器装置的页大小的方法,其包含接收所述存储器装置的页大小范围;确定所述存储器装置的总线宽度;检测具有自动检测标记的页的数目;以及基于所述所检测的具有所述自动检测标记的页的数目及所述所接收的页大小范围来确定所述存储器装置的所述页大小。
2. 根据权利要求1所述的方法,其中所述页大小范围包括所述存储器装置的最大可能页大小及最小可能页大小,且所述方法进一步包含通过计算所述最大可能页大小与所述最小可能页大小的比率来确定所标记的区段的数目。
3. 根据权利要求l所述的方法,其中所述确定所述总线宽度进一步包含在所述存储器装置中,邻近地提供第一四字节字及第二四字节字;当以八位模式来配置存储器控制器时,从所述存储器装置读取第一四字节;以及确定所述所读取的字节是否对应于所述第一四字节字与所述第二四字节字的交错,其中所述交错对应于具有16位总线宽度的所述存储器装置。
4. 根据权利要求3所述的方法,其中所述第一四字节字对应于第一幻数,且所述第二四字节字对应于第二幻数。
5. 根据权利要求1所述的方法,其中所述检测所述页数目进一步包含从所述存储器装置循序读取一系列页;以及对含有所述自动检测标记的页的所述数目进行计数。
6. 根据权利要求5所述的方法,其进一步包含从所述存储器装置读取一页数据;以及测试所述数据是否含有所述自动检测标记。
7. 根据权利要求6所述的方法,其中当确定所述数据含有所述自动检测标记时,所述方法进一步包含使对应于所读取的页的所述数目的计数器递增;以及重复所述读取所述页及所述测试直到所述数据未能含有所述自动检测标记为止。
8. 根据权利要求7所述的方法,其中当确定所述数据不含有所述自动检测标记时,所述方法进一步包含确定所述计数器是否超过用所述自动检测标记来标记的页的最大数目,且如果如此,则发信号通知错误状况。
9. 根据权利要求1所述的方法,其中所述自动检测标记是幻数。
10. 根据权利要求2所述的方法,其进一步包含通过以下方式来计算所述存储器装置的所述页大小确定所标记的区段的所述数目与所述最小可能页大小的乘积,以及将所述乘积除以具有所述自动检测标记的页的所述数目。
11. 根据权利要求l所述的方法,其进一步包含在硬件中确定所述存储器装置是利用较小页大小还是较大页大小。
12. 根据权利要求l所述的方法,其进一步包含执行读取初始化命令;以及检査以确定所述存储器装置在预定时间周期之后是否繁忙。
13. 根据权利要求2所述的方法,其进一步包含提供关于所述存储器装置的数据,所述数据被划分为所述数目的区段,每一区段含有至少一个代码字、所述自动检测标记及虚数据。
14. 根据权利要求13所述的方法,其中所述至少一个代码字包括NAND8位代码字及配置数字。
15. 根据权利要求14所述的方法,其中所述至少一个代码字及所述自动检测标记是幻数。
16. 根据权利要求1所述的方法,其中所述存储器装置包括NAND快闪存储器、m系统快闪存储器或OneNAND快闪存储器。
17. —种用于自动确定存储器装置的页大小的设备,其包含经配置以接收所述存储器装置的页大小范围的逻辑;经配置以确定所述存储器装置的总线宽度的逻辑;经配置以检测具有自动检测标记的页的数目的逻辑;以及经配置以基于所述所检测的具有所述自动检测标记的页的数目及所述所接收的页大小范围来确定所述存储器装置的所述页大小的逻辑。
18. 根据权利要求17所述的设备,其中所述页大小范围包括所述存储器装置的最大可能页大小及最小可能页大小,且所述设备进一步包含经配置以通过计算所述最大可能页大小与所述最小可能页大小的比率来确定所标记的区段的数目的逻辑。
19. 根据权利要求17所述的设备,其中所述用于确定所述总线宽度的逻辑进一步包含经配置以在所述存储器装置中邻近地提供第一四字节字及第二四字节字的逻辑;经配置以在存储器控制器以八位模式配置时从所述存储器装置读取第一四字节的逻辑;以及经配置以确定所述所读取的字节是否对应于所述第一四字节字与所述第二四字节字的交错的逻辑,其中所述交错对应于具有16位总线宽度的所述存储器装置,其中所述第一四字节字对应于第一幻数,且所述第二四字节字对应于第二幻数,且所述自动检测标记是幻数。
20. 根据权利要求17所述的设备,其中所述用于检测所述页数目的逻辑进一步包含-经配置以从所述存储器装置循序读取一系列页的逻辑;经配置以对含有所述自动检测标记的页的所述数目进行计数的逻辑;经配置以从所述存储器装置读取一页数据的逻辑以及经配置以测试所述数据是否含有所述自动检测标记的逻辑。
21. 根据权利要求20所述的设备,其中当确定所述数据含有所述自动检测标记时,所 述设备进一步包含经配置以使对应于所读取的页的所述数目的计数器递增的逻辑;以及 经配置以重复所述读取所述页及所述测试直到所述数据未能含有所述自动检测标记为止的逻辑,且其中当确定所述数据不含有所述自动检测标记时,所述设备进一步包含 经配置以确定所述计数器是否超过用所述自动检测标记来标记的页的最大数目且如果如此则发信号通知错误状况的逻辑。
22. 根据权利要求18所述的设备,其进一步包含通过以下方式来计算所述存储器装置的所述页大小确定所标记的区段的所述数目与所述最小可能页大小的乘积,且将所述乘积除以具有所述自动检测标记的页的 所述数目。
23. —种用于自动确定存储器装置的页大小的设备,其包含用于接收所述存储器装置的页大小范围的装置; 用于确定所述存储器装置的总线宽度的装置; 用于检测具有自动检测标记的页的数目的装置;以及用于基于所述所检测的具有所述自动检测标记的页的数目及所述所接收的页大 小范围来确定所述存储器装置的所述页大小的装置。
24. 根据权利要求23所述的设备,其中所述页大小范围包括所述存储器装置的最大可 能页大小及最小可能页大小,且所述设备进一步包含用于通过计算所述最大可能页大小与所述最小可能页大小的比率来确定所标记 的区段的数目的装置。
25. 根据权利要求23所述的设备,其进一步包含用于从所述存储器装置循序读取一系列页的装置;以及 用于对含有所述自动检测标记的页的所述数目进行计数的装置。
全文摘要
本发明提出了用于存储器页大小自动检测的方法及设备。一种用于自动确定存储器装置的页大小的方法包括接收所述存储器装置的页大小范围;确定所述存储器装置的总线宽度;检测具有自动检测标记的页的数目;及基于所述所检测的页数目及所述所接收的页大小范围来确定所述存储器装置的所述页大小。一种用于自动确定页大小检测的设备包括用于执行上文所呈现的方法的逻辑。
文档编号G06F13/38GK101681301SQ200880015811
公开日2010年3月24日 申请日期2008年5月14日 优先权日2007年5月14日
发明者斯里尼瓦斯·马达利, 屯 杨, 汤姆·左为·郭, 艾尔沙德·贝巴尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1