实体存储对照表产生装置及方法与流程

文档序号:19570864发布日期:2019-12-31 18:55阅读:183来源:国知局
本发明涉及存储装置,尤指一种实体存储对照表产生装置及方法。
背景技术
::闪存存储装置通常分为nor闪存存储装置与nand闪存存储装置。nor闪存存储装置为随机存取装置,主装置(host)可于地址引脚上提供任何存取nor闪存存储装置的地址,并及时地从nor闪存存储装置的数据引脚上获得存储于该地址上的数据。相反地,nand闪存存储装置并非随机存取,而是序列存取。nand闪存存储装置无法像nor闪存存储装置一样,可以存取任何随机地址,主装置反而需要写入序列的字节(bytes)的值到nand闪存存储装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(闪存存储装置中写入操作的最小数据块)或一个区块(闪存存储装置中抹除操作的最小数据块)。实际上,为了提升写入的速度,一段连续逻辑位置的数据可能被散布放置于数个实体的闪存存储单元中,并且nand闪存存储装置使用实体存储对照表来指出数据被写入到实体闪存存储单元中的何处。当主装置发送包含逻辑位置的数据读取命令给nand闪存存储装置,nand闪存存储装置须依据实体存储对照表的内容将逻辑位置转换为实体位置,然后再从实体位置读取数据并回复给主装置。然而,由于nand闪存存储装置中数据缓冲区的空间有限,无法存储完整的实体存储对照表以供快速查找,只能存储其中的一部分。当主装置发出的读取命令中的逻辑位置无法命中数据缓存区的部分实体存储对照表时,nand闪存存储装置必须耗费大量时间从闪存存储单元中读取适当部分的实体存储对照表,增加主装置取得数据的等待时间(latency)。为降低等待时间,新的闪存记忆标准可让主装置可直接发送包含实体位置的数据读取命令给nand闪存存储装置。但是,主装置需要先从nand闪存存储装置取得实体存储对照表,才能进行逻辑实体地址转换。为了让主装置可以跟不同制造商的nand闪存存储装置通信,闪存记忆标准规范实体存储对照表的输出格式。然而,标准规范的输出格式通常不同于nand闪存存储装置的内部使用格式,需要进行转换。因此,本发明提出一种装置及方法,用以节省产生符合规范的实体存储对照表的时间。技术实现要素:有鉴于此,如何减轻或消除上述相关领域的缺失,实为有待解决的问题。本发明提供一种实体存储对照表产生装置的实施例,其包含:直接存储器访问控制器、扩充电路及控制器。直接存储器访问控制器从数据缓冲区读取实体存储对照表中相应于逻辑位置的第一实体位置信息。扩充电路扩充第一实体位置信息为使用更多数目的字节表示的第二实体位置信息。控制器传送第二实体位置信息给主装置。本发明还提供另一种实体存储对照表产生装置的实施例,用以产生闪存存储装置的实体存储对照表,包含读取请求解析模块;实体位置信息读取驱动模块;及实体位置信息输出驱动模块。读取请求解析模块从主装置收到实体存储对照表的读取请求,包含逻辑位置。实体位置信息读取驱动模块读取相应于逻辑位置的第一实体位置信息并存储第一实体位置信息至数据缓冲区。实体位置信息输出驱动模块从数据缓冲区输出第一实体位置信息至扩充电路。本发明还提供一种实体存储对照表产生方法的实施例,由处理单元执行,其包含:从主装置收到实体存储对照表的读取请求,包含逻辑位置;驱动闪存存储控制器从闪存存储单元读取相应于逻辑位置的第一实体位置信息并存储第一实体位置信息至数据缓冲区;以及驱动直接存储器访问控制器从数据缓冲区输出第一实体位置信息至扩充电路。于装置及方法中所述的第一实体位置信息使用第一数目的字节表示。于装置及方法中所述的扩充电路取得第一实体位置信息,扩充第一实体位置信息为使用第二数目的字节表示的第二实体位置信息,输出第二实体位置信息给控制器,使得控制器回复第二实体位置信息给主装置。于装置及方法中所述的第二数目大于第一数目。上述实施例的优点是通过使用扩充电路产生符合闪存记忆标准规范的输出格式的第二实体位置信息,降低输出实体存储对照表给主装置的等待时间。上述实施例的另一优点是避免数据缓冲区配置额外空间存储符合闪存记忆标准规范的输出格式的第二实体位置信息。本发明的其他优点将配合以下的说明和附图进行更详细的解说。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。图1为依据本发明实施例主装置向闪存存储装置请求实体存储对照表的顺序图。图2为依据本发明实施例的实体存储对照示意图。图3为一些实施方式的系统方框图。图4为依据本发明实施例的产生闪存存储装置的实体存储对照表的系统方框图。图5为依据本发明实施例的产生闪存存储装置的实体存储对照表的方法流程图。图6为存取子接口与多个存储子单元的连接示意图。图7至13为依据本发明实施例的扩充电路的方框图。图14为本发明实施例的产生闪存存储装置的实体存储对照表的功能模块示意图。符号说明:110主装置130闪存存储装置151读取请求153传送实体存储对照表的循环155读取回复210实体存储对照表230实体位置信息230-0实体区块编号230-1主页面的起始单元编号250实体区块251主页面310物理层320数据链路层330处理单元351控制器353直接存储器访问控制器370、450数据缓冲区380、430直接存储器访问控制器375、480闪存存储控制器390闪存存储单元410、410_1~410_13扩充电路470处理单元490控制器s510~s550方法步骤610存取子接口630_0~630_i存储子单元650数据线670_0~670_i芯片使能控制信号710、710_1~710_2填充寄存器730、730_1~730_2实体位置寄存器750_1~750_2扰码寄存器770_1~770_2扰码器780、780_1~780_2奇偶校验寄存器790、790_1~790_2奇偶校验产生器1410、1430、1450程序模块具体实施方式以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、组件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。本发明中使用如“第一”、”第二”、”第三”等词是用来修饰权利要求中的组件,并非用来表示的间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。图1为依据本发明实施例主装置向闪存存储装置请求实体存储对照表的顺序图。闪存记忆系统包含主装置110及闪存存储装置130,并以闪存记忆通信协议(例如,通用闪存记忆存储,universalflashstorageufs)彼此通信。闪存存储装置130可为nand闪存存储装置。由于nand闪存存储装置并非随机存取装置,为了提升写入的效率,主装置110可提供至少一个长度的连续性数据,例如128k字节的数据,使得闪存存储装置130可以有效率的并行操作方式将数据写入其中的数个存储子单元。当成功写入一个逻辑位置的用户数据后,闪存存储装置130需要更新暂存于静态随机存取存储器的临时实体存储对照表(temporarystoragemappingtable)中此逻辑位置及写入实体位置的对应关系信息。此外,于成功写入预定数量的逻辑位置的的用户数据后,依据暂存的临时实体存储对照表的内容更新非易失性的闪存存储单元中存储的实体存储对照表(storagemappingtable,又称为h2fhost-to-flash表)。所以,实体存储对照表的内容由闪存存储装置130负责维护,而不是主装置110。实体存储对照表记录每个逻辑位置的用户数据实际存储于闪存存储单元中的哪个实体位置。图2为依据本发明实施例的实体存储对照示意图。实体存储对照表210依照顺序存储相应于每一逻辑位置的实体位置信息。实体存储对照表210所需的空间从64m到1g字节不等。逻辑位置可以逻辑区块地址(logicalblockaddresslba)表示,每一个lba对应到一个固定大小的实体存储空间,例如512字节(bytes)。举例来说,实体存储对照表210依序存储从lba0至lba65535的实体位置信息。数个连续逻辑位置(例如lba0至lba7)的数据可形成一个主页面(hostpage)。实体位置信息230可以四个字节表示:前两个字节230-0记录实体区块编号(physicalblocknumber);后两个字节230-1记录单元编号(unitnumber)。例如,相应于逻辑位置lba2的实体位置信息230可指向实体区块250中的一个实体局部251。字节230-0记录实体区块250的编号,字节230-1记录实体局部251的单元编号。由于闪存存储装置130可因应实际运作来更新实体存储对照表210的内容,例如,执行数据写入操作、垃圾回收过程(garbagecollectiongcprocess)、损耗平均过程(wearlevelingprocess)、读取回收过程(readreclaimprocess)、读取更新过程(readreflashprocess)。当实体存储对照表210的内容修改后,闪存存储装置130可通知主装置110需要重新取得相应逻辑位置区间的修改后实体存储对照表210。于收到通知后,主装置110可于任意时间点发出实体存储对照表的读取请求151。读取请求151可包含逻辑位置区间的信息,例如lba0至lba199。举例来说,主装置110可发送ufs通信协议信息单元命令(cmdupiu-ufsprotocolinformationunit)给闪存存储装置130,cmdupiu包含读取请求151。闪存存储装置130取得请求的逻辑位置区间的实体存储对照表210,并可执行一个循环153,用以分段传送请求的逻辑位置区间的实体存储对照表210给主装置110。于每一回合,闪存存储装置130可将一部分请求的逻辑位置区间的实体存储对照表210装载于datainupiu的数据局部(datasegmentarea)。当请求的实体位置信息传送完成,闪存存储装置130发送读取回复155给主装置110。闪存存储装置130可发送ufs通信协议信息单元回复(responseupiu)给主装置110,且responseupiu包含读取回复155。为避免数据缓冲区的实体存储对照表210因非预期的断电而遗失,闪存存储装置130可于非挥发的闪存存储单元保存完整的实体存储对照表210。为了节省数据缓冲区及闪存存储单元的空间消耗,通常以最少的字节记录相应于每个逻辑位置的实体位置信息。然而,为了让主装置110可兼容所有厂商开发的闪存存储装置,闪存记忆标准规范的实体存储对照表的输出格式通常使用更多字节来记录相应于每个逻辑位置的实体位置信息。举例来说,闪存存储装置130使用四个字节存储相应于每个逻辑位置的实体位置信息,但闪存记忆标准使用八个字节存储相同的信息。因此,闪存存储装置130需要将实体存储对照表210的实体位置信息230扩充为更多字节的输出格式。于一些实施方式,闪存存储装置130可于数据缓冲区中配置空间,用以进行格式转换。图3为一些实施方式的系统方框图。假设闪存存储装置130使用如图2所示的四字节存储相应于每个逻辑位置的实体位置信息,而闪存记忆标准规范使用八字节进行实体位置信息的存储:处理单元330从主装置110收到读取请求151后,驱动闪存存储单元390读取请求的逻辑位置区间的实体存储对照表210并存储至数据缓冲区370。数据缓冲区370配置两个局部分别存储原始的实体存储对照表210以及扩充后的实体存储对照表。接着,处理单元330驱动直接存储器访问控制器(directmemoryaccessdmacontroller)380,用以将原始的实体存储对照表210复制成两份(也就是扩充后的实体存储对照表),并存储至数据缓冲区370中的指定局部。接着,处理单元330通过控制器351驱动直接存储器访问控制器353从数据缓冲区370的指定局部读取扩充后实体存储对照表,并经由数据链路层320(例如unipro)及物理层310回复给主装置110。然而,这样的实施方式需要于数据缓冲区370配置一个局部来存储扩充后实体存储对照表。例如,为了1kb的原始实体位置信息(相应于256笔逻辑位置),数据缓冲区370须额外配置2kb空间来存储扩充后实体位置信息。数据缓冲区370是稀少资源,增加用来存储扩充后实体存储对照表的局部可能排挤其他重要数据的存储。此外,以上所述的实施方式需要处理单元330耗费时间控制直接存储器访问控制器380。为改进如上所述实施方式的缺点,图4为本发明实施例的产生闪存存储装置的实体存储对照表的系统方框图。控制器490通过数据链路层320及物理层310电性连接(耦接)于主装置110,并且连接于处理单元470、扩充电路410及直接存储器访问控制器430之间。处理单元470连接至闪存存储控制器480,用以依据主装置110发送的命令驱动闪存存储控制器480从闪存存储单元390的特定实体位置读取用户数据并存储至数据缓冲区450,从数据缓冲区450取得用户数据并写入闪存存储单元390的特定实体位置,或者针对闪存存储单元390的特定实体位置执行抹除操作。控制器490可通过直接存储器访问控制器430从数据缓冲区450读取用户数据并通过驱动数据链路层320及物理层310依序敲出给主装置110。控制器490可通过直接存储器访问控制器430将主装置110欲写入的用户数据存储至数据缓冲区450。处理单元470可使用多种方式实施,例如使用通用硬件,如单处理器、具平行处理能力的多处理器、图形处理器、轻简型通用目的处理器(lightweightgeneral-purposeprocessor)或其他具运算能力的处理器,并且在执行指令(instructions)、宏码(macrocode)或微码(microcode)时,提供以后描述的功能。控制器490可为ufs控制器,通过ufs通信协议与主装置110进行通信。虽然本发明实施例以ufs通信协议举例,但当其他通信协议将来允许主装置直接发送包含实体位置信息的读取命令时,本发明也可应用到其他的通信协议,例如通用序列总线(universalserialbus,usb)、先进技术附着(advancedtechnologyattachment,ata)、序列先进技术附着(serialadvancedtechnologyattachment,sata)、快速周边组件互联(peripheralcomponentinterconnectexpress,pci-e)或其他接口的通信协议。直接存储器访问控制器430从数据缓冲区450读取实体存储对照表210中相应于每一逻辑位置的原始实体位置信息,并且原始实体位置信息使用第一数目的字节表示。扩充电路410连接或耦接于直接存储器访问控制器430,用以取得原始实体位置信息,扩充原始实体位置信息为使用第二数目的字节表示的扩充后实体位置信息,并且输出扩充后实体位置信息给控制器490,其中第二数目大于第一数目。控制器490连接或耦接于扩充电路410,通过数据链路层320及物理层310传送(或回复)扩充后实体位置信息给主装置110。处理单元470负责维护实体存储对照表210的内容,而不是主装置110,实体存储对照表210记录每个逻辑位置的用户数据实际存储于闪存存储单元390中的哪个实体位置。图5为依据本发明实施例的产生闪存存储装置的实体存储对照表的方法流程图。此方法由处理单元470于加载并执行指令、宏码或微码时实施。处理单元470通过控制器490从主装置110收到读取请求151后(步骤s510),驱动闪存存储控制器480从闪存存储单元390读取请求的逻辑位置区间的实体存储对照表210(也就是相应于逻辑位置区间的实体位置信息)并存储至数据缓冲区450(步骤s530)。需注意的是,数据缓冲区450只需要配置空间存储原始的实体存储对照表210。接着,处理单元470驱动直接存储器访问控制器430从数据缓冲区450读取实体存储对照表210中的实体位置信息,并输出至扩充电路410(步骤s550)。闪存存储控制器480使用数个电子信号来协调与闪存存储单元390间的数据与命令传递,包含数据线(dataline)、时钟信号(clocksignal)与控制信号(controlsignal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片使能(chipenablece)、地址提取使能(addresslatchenableale)、命令提取使能(commandlatchenablecle)、写入使能(writeenablewe)等控制信号。处理单元470可采用双倍数据率(doubledatarateddr)通信协议与闪存存储单元390通信,例如,开放nand闪存记忆接口(opennandflashinterfaceonfi)、双倍数据率开关(ddrtoggle)或其他接口。闪存存储单元390可包含多个存储子单元,每个存储子单元各自使用关联的存取子接口与处理单元470进行通信。一个或多个存储子单元可封装在一个芯粒(die)。存取子接口及其后连接的存储子单元又可统称为输出输入信道,并可以逻辑单元编号(logicalunitnumberlun)标识。换句话说,多个存储子单元共享一个存取子接口。例如,当闪存存储单元390包含4个存取子接口且每一个存取子接口连接4个存储子单元时,闪存存储单元390一共拥有16个存储子单元。处理单元470可驱动存取子接口中的一者,从指定的存储子单元读取数据。每个存储子单元拥有独立的芯片使能(ce)控制信号。换句话说,当欲对指定的存储子单元进行数据读取时,需要驱动关联的存取子接口来使能此存储子单元的芯片使能控制信号。图6为存取子接口与多个存储子单元的连接示意图。处理单元470可通过存取子接口610使用独立的芯片使能控制信号670_0至670_i从连接的存储子单元630_0至630_i中选择出其中一者,接着,通过共享的数据线650从选择出的存储子单元的指定实体地址读取数据。参考图4。扩充电路410将实体存储对照表210中相应于读取请求151中每一个逻辑位置的实体位置信息扩充为闪存记忆标准规范的字节长度。接着,控制器490从扩充电路410取得相应于每一个逻辑位置的扩充后实体位置信息,并经由数据链路层320及物理层310回复给主装置110。物理层310可包含差动输出对(rxpair)以传送数据或回复信息至主装置110,以及差动输入对(txpair)以从主装置110接收数据或命令。于另一些实施例,扩充电路410可整合至直接存储器访问控制器430的内部。图7至13为依据本发明实施例的扩充电路的方框图。需注意的是,闪存存储装置130可使用多于或少于四字节存储相应于每个逻辑位置的实体位置信息,闪存记忆标准规范可使用多于八字节,或少于八字节但高于闪存存储装置130使用的字节数目进行实体位置信息的存储,本发明并不因此局限。参考图7。扩充电路410可使用填充的方式产生扩充后实体位置信息。详细来说,扩充电路410通过直接存储器访问控制器430从数据缓冲区450接收实体位置信息,加上填充数据成为扩充后实体位置信息,并输出至控制器490。扩充电路410_1至410_3为填充式(padding-type)的扩充电路。扩充电路410_1可包含四字节的填充寄存器710及实体位置寄存器730。填充寄存器710锁存固定的虚假值(dummyvalue),例如0x0000、0xffff、0xaaaa或其他数据模式(datapattern)。实体位置寄存器730电性连接至直接存储器访问控制器430的输出端,可接收并锁存(latch)相应于一个逻辑位置的实体位置信息[0..3]。控制器490取得填充寄存器的710的虚假值作为扩充后实体位置信息[0..3],取得实体位置寄存器730的实体位置信息作为扩充后实体位置信息[4..7],并且组合输出至数据链路层320。以上所述可称为前填充(pre-padding)。相似地,扩充电路410_2可包含四字节的实体位置寄存器730及填充寄存器710。控制器490取得实体位置寄存器730的实体位置信息作为扩充后实体位置信息[0..3],取得填充寄存器的710的虚假值作为扩充后实体位置信息[4..7],并且组合输出至数据链路层320。以上所述可称为后填充(post-padding)。扩充电路410_3使用穿插填充(interleaved-padding)的方式产生扩充后实体位置信息。扩充电路410_3可包含两个二字节的填充寄存器710_1及710_2,以及两个二字节的实体位置寄存器730_1及730_2。填充寄存器710_1及710_2可锁存相同或不同的虚假值。实体位置寄存器730_1及730_2,举例来说,可分别锁存实体位置信息中的实体区块编号及单元编号。控制器490可分别读取实体位置寄存器730_1、填充寄存器的710_1、实体位置寄存器730_2及填充寄存器的710_2的值作为扩充后实体位置信息[0..1]、[2..3]、[4..5]及[6..7],并且组合输出至数据链路层320。所属领域具有通常知识者可置换扩充电路410_3中的组件,例如使用四个单字节的填充寄存器,以及四个单字节的实体位置寄存器,或者改变扩充电路410_3中的组件安排,用以完成类似但不同的穿插填充方式,因此,本发明并不因此局限。图7所示的填充式扩充电路410_1可进一步改良来加上扰码器,将实体位置信息编码,避免被恶意使用。扰码器可于闪存存储装置130中转置(transpose)或以其他方式编码实体位置信息,使得当主装置110或其他装置没有配置适当设定的解扰器时,无法解读出编码信息。图8为改良后的扩充电路410_4及410_5。扩充电路410_4可包含八字节扰码寄存器750_1,用以锁存扰码[0..7]。扩充电路410_4可更设置扰码器770_1,连接扰码寄存器750_1、填充寄存器的710及实体位置寄存器730的输出端、以及控制器490的输入端。扰码器770_1使用扰码寄存器750_1中的值对扩充后实体位置信息进行扰码运算,并输出扰码后扩充实体位置信息至控制器490。扰码器770_1可包含多个互斥或门(xorgate)对扰码寄存器750_1中的值及扩充后实体位置信息执行互斥或运算。控制器490接着回复此扰码后的扩充实体位置信息给主装置110。扩充电路410_5可包含四字节扰码寄存器750_2,用以锁存扰码[0..3]。扩充电路410_5可更设置扰码器770_2,连接扰码寄存器750_1、实体位置寄存器730的输入端、及直接存储器访问控制器430的输出端。扰码器770_2使用扰码寄存器750_2中的值对原始实体位置信息进行扰码运算,并输出扰码后实体位置信息至实体位置寄存器730。扰码器770_2可包含多个互斥或门对扰码寄存器750_1中的值及扩充后实体位置信息执行互斥或运算。控制器490取得填充寄存器的710的虚假值作为扩充后实体位置信息[0..3],取得实体位置寄存器730的扰码后实体位置信息作为扩充后实体位置信息[4..7],并且组合输出至数据链路层320,用以回复主装置110。图7所示的填充式扩充电路410_2可进一步改良来加上扰码器770_1或770_2及扰码寄存器750_1或750_2,将(扩充后)实体位置信息编码,避免被恶意使用。所属
技术领域
:具有通常知识者可依据如上所述扩充电路410_1的内容推论填充式扩充电路410_2的修改技术细节,为求简明不再赘述。图7所示的填充式扩充电路410_3可进一步改良来加上扰码器,将实体位置信息编码,避免被恶意使用。图9为改良后的扩充电路410_6及410_7。扩充电路410_6可更设置扰码器770_1,连接扰码寄存器750_1、填充寄存器的710_1及710_2以及实体位置寄存器730_1及730_2的输出端、以及控制器490的输入端。扰码器770_1使用扰码寄存器750_1中的值对扩充后实体位置信息(组合实体位置寄存器730_1及730_2以及填充寄存器710_1及710_2的值)进行扰码运算,并输出扰码后扩充实体位置信息至控制器490。控制器490接着回复此扰码后的扩充实体位置信息给主装置110。扩充电路410_7可更设置扰码器770_2,连接扰码寄存器750_2、实体位置寄存器730_1及730_2的输入端、及直接存储器访问控制器430的输出端。扰码器770_2使用扰码寄存器750_2中的值对原始实体位置信息进行扰码运算,并分别输出扰码后实体位置信息[0..1]及[2..3]至实体位置寄存器730_1及730_2。控制器490取得实体位置寄存器730_1的扰码后实体位置信息作为扩充后实体位置信息[0..1],取得填充寄存器的710_1的虚假值作为扩充后实体位置信息[2..3],取得实体位置寄存器730_2的扰码后实体位置信息作为扩充后实体位置信息[4..5],取得填充寄存器的710_2的虚假值作为扩充后实体位置信息[6..7],并且组合输出至数据链路层320,用以回复主装置110。所属领域具有通常知识者可置换扩充电路410_6或410_7中的组件,例如使用四个单字节的填充寄存器,以及四个单字节的实体位置寄存器,或者改变扩充电路410_6或410_7中的组件安排,用以完成类似但不同的穿插填充方式,因此,本发明并不因此局限。参考图4。扩充电路410可使用奇偶校验编码的方式产生扩充后实体位置信息。详细来说,扩充电路410从数据缓冲区450接收实体位置信息,并据以加上更多字节的数据以成为带有奇同位(oddparity)或偶同位(evenparity)的扩充后实体位置信息,并输出至控制器490,使得主装置110可判断扩充后实体位置信息是否正确。当扩充后实体位置信息不正确时,主装置110可请求闪存存储装置重新传送相应此逻辑位置的实体位置信息。扩充电路410_8至410_10为同位式(parity-type)的扩充电路。参考图10。扩充电路410_8可包含四字节的奇偶校验寄存器780及实体位置寄存器730。扩充电路410_8可更包含奇偶校验产生器790,连接至直接存储器访问控制器430的输出端,用以依据原始实体位置信息产生更多字节的数据(又称为奇偶校验字节),并输出奇偶校验字节至奇偶校验寄存器780。举例来说,奇偶校验产生器790可包含比较器,判断原始实体位置信息中比特值为1的总数。若总数为奇数则奇偶校验产生器790输出带有偶数个比特值为1的奇偶校验字节(例如0x0000),若总数为偶数则输出带有奇数个比特值为1的奇偶校验字节(例如0x0001)。控制器490取得奇偶校验寄存器的780的奇偶校验字节作为扩充后实体位置信息[0..3],取得实体位置寄存器730的实体位置信息作为扩充后实体位置信息[4..7],并且组合输出带奇同位的扩充后实体位置信息至数据链路层320。以上所述可称为前同位(pre-parity)。相似地,扩充电路410_9可包含四字节的实体位置寄存器730及奇偶校验寄存器780。控制器490取得实体位置寄存器730的实体位置信息作为扩充后实体位置信息[0..3],取得奇偶校验寄存器的780的奇偶校验字节作为扩充后实体位置信息[4..7],并且组合输出带奇同位的扩充后实体位置信息至数据链路层320。以上所述可称为后同位(post-parity)。于另一些实施例中,所属
技术领域
:具通常知识者可修改奇偶校验产生器790,若总数为奇数则奇偶校验产生器790输出带有奇数个比特值为1的奇偶校验字节(例如0x0001),若总数为偶数则输出带有偶数个比特值为1的奇偶校验字节(例如0x0000),使得扩充电路410_8或410_9可输出带偶同位的扩充后实体位置信息[0..7]。于更另一些实施例中,当实体位置信息及奇偶校验字节的长度相同时,所属
技术领域
:具通常知识者可省略奇偶校验产生器790。奇偶校验寄存器780连接至直接存储器访问控制器430的输出端,并锁存直接存储器访问控制器430输出的原始实体位置信息作为奇偶校验字节。控制器490取得实体位置寄存器730的实体位置信息作为扩充后实体位置信息[0..3],取得奇偶校验寄存器的780的实体位置信息作为扩充后实体位置信息[4..7],并且组合输出偶同位的扩充后实体位置信息至数据链路层320。扩充电路410_10使用穿插同位(interleaved-parity)的方式产生扩充后实体位置信息。扩充电路410_3可包含两个二字节的奇偶校验寄存器780_1及780_2,以及两个二字节的实体位置寄存器730_1及730_2。扩充电路410_10可更包含奇偶校验产生器790_1及790_2,连接至直接存储器访问控制器430的输出端。举例来说,奇偶校验产生器790_1可包含比较器,判断原始实体位置信息的实体区块编号中比特值为1的总数。若总数为奇数则奇偶校验产生器790_1输出带有偶数个比特值为1的奇偶校验字节(例如0x00),若总数为偶数则输出带有奇数个比特值为1的奇偶校验字节(例如0x01)至奇偶校验寄存器780_1。奇偶校验产生器790_2可包含比较器,判断原始实体位置信息的单元编号中比特值为1的总数。若总数为奇数则奇偶校验产生器790_2输出带有偶数个比特值为1的奇偶校验字节(例如0x00),若总数为偶数则输出带有奇数个比特值为1的奇偶校验字节(例如0x01)至奇偶校验寄存器780_2。控制器490可分别读取实体位置寄存器730_1、奇偶校验寄存器的780_1、实体位置寄存器730_2及奇偶校验寄存器的780_2的值作为带奇同位的扩充后实体位置信息[0..1]、[2..3]、[4..5]及[6..7],并且组合输出至数据链路层320。所属领域具有通常知识者可置换扩充电路410_10中的组件,例如使用四个单字节的奇偶校验寄存器,以及四个单字节的实体位置寄存器,或者改变扩充电路410_10中的组件安排,用以完成类似但不同的穿插填充方式,因此,本发明并不因此局限。于另一些实施例中,所属
技术领域
:具通常知识者可修改奇偶校验产生器790_1及790_2。若奇偶校验产生器790_1及790_2中的每一者侦测到总数为奇数则输出0x0001(亦即是数值1)作为奇偶校验字节,若总数为偶数则输出0x0000(也就是数值0)作为奇偶校验字节,使得扩充电路410_10可输出带偶同位的扩充后实体位置信息[0..7]。于更另一些实施例中,当实体位置信息及奇偶校验字节的长度相同时,所属
技术领域
:具通常知识者可省略奇偶校验产生器790_1及790_2。奇偶校验寄存器780_1及780_2连接至直接存储器访问控制器430的输出端,并分别锁存直接存储器访问控制器430输出的原始实体位置信息的实体区块编号及单元编号。控制器490分别取得实体位置寄存器730_1、奇偶校验寄存器780_1、实体位置寄存器730_2及奇偶校验寄存器780_2的内容作为扩充后实体位置信息[0..1]、[2..3]、[4..5]及[6..7],并且组合输出带偶同位的扩充后实体位置信息至数据链路层320。图10所示的填充式扩充电路410_8可进一步改良来加上扰码器,将实体位置信息编码,避免被恶意使用。图12为改良后的扩充电路410_11及410_12。扩充电路410_11可包含八字节扰码寄存器750_1,用以锁存扰码[0..7]。扩充电路410_4可更设置扰码器770_1,连接扰码寄存器750_1、奇偶校验寄存器的780及实体位置寄存器730的输出端、以及控制器490的输入端。扰码器770_1使用扰码寄存器750_1中的值对扩充后实体位置信息进行扰码运算,并输出扰码后扩充实体位置信息至控制器490。扩充电路410_12可包含四字节扰码寄存器750_2,用以锁存扰码[0..3]。扩充电路410_5可更设置扰码器770_2,连接扰码寄存器750_1、实体位置寄存器730的输入端、及直接存储器访问控制器430的输出端。扰码器770_2使用扰码寄存器750_2中的值对原始实体位置信息进行扰码运算,并输出扰码后实体位置信息至实体位置寄存器730。控制器490取得奇偶校验寄存器的780的奇偶校验字节作为扩充后实体位置信息[0..3],取得实体位置寄存器730的扰码后实体位置信息作为扩充后实体位置信息[4..7],并且组合输出至数据链路层320,用以回复主装置110。图10所示的填充式扩充电路410_9可进一步改良来加上扰码器,将(扩充后)实体位置信息编码,避免被恶意使用。所属
技术领域
:具有通常知识者可依据如上所述扩充电路410_8的内容推论填充式扩充电路410_9的修改技术细节,为求简明不再赘述。图11所示的填充式扩充电路410_10可进一步改良来加上扰码器,将实体位置信息编码,避免被恶意使用。图13为改良后的扩充电路410_13。扩充电路410_13可更设置扰码器770_1,电性连接扰码寄存器750_1、奇偶校验寄存器的780_1及780_2以及实体位置寄存器730_1及730_2的输出端、以及控制器490的输入端。扰码器770_1使用扰码寄存器750_1中的值对扩充后实体位置信息(组合实体位置寄存器730_1及730_2以及奇偶校验寄存器的780_1及780_2的值)进行扰码运算,并输出扰码后扩充实体位置信息至控制器490。控制器490接着回复此扰码后的扩充实体位置信息给主装置110。于另一些实施例中,图11所示的填充式扩充电路410_10可进一步改良来将扰码器770_2加到介于实体位置寄存器730_1及730_2,以及直接存储器访问控制器430的输出端之间,用以将实体位置信息编码,避免被恶意使用。所属
技术领域
:具有通常知识者可依据如上所述图9的扩充电路410_7的内容推论填充式扩充电路410_10的修改技术细节,为求简明不再赘述。处理单元470执行的方法步骤,可用一个或多个功能模块组成的计算器程序产品来实现。这些功能模块存储于非易失性存储装置,并且可被处理单元470于特定时间点加载并执行。图14为本发明实施例的产生闪存存储装置的实体存储对照表的功能模块示意图。处理单元470执行读取请求解析模块1410以完成步骤s510的操作,执行实体位置信息读取驱动模块1430以完成步骤s530的操作,并且执行实体位置信息输出驱动模块1450以完成步骤s550的操作。读取请求解析模块1410可包含控制器490的驱动程序,以及解析器(parser),用以辨认接收到请求的类型,以及从请求中取得逻辑位置区间。实体位置信息读取驱动模块1430可包含闪存存储单元390的驱动程序,以及操作驱动程序的程序码。实体位置信息输出驱动模块1450可包含直接存储器访问控制器430驱动程序,以及操作驱动程序的程序码。本发明所述的方法中的全部或部分步骤可以计算器程序实现,例如计算机的操作系统、计算机中特定硬件的驱动程序、或软件应用程序。此外,也可实现于如上所示的其他类型程序。所属
技术领域
:具有通常知识者可将本发明实施例的方法撰写成计算器程序,为求简明不再加以描述。依据本发明实施例方法实施的计算器程序可存储于适当的计算机可读取数据载具,例如dvd、cd-rom、usb碟、硬盘,也可置于可通过网络(例如,互联网,或其他适当载具)存取的网络服务器。虽然图4、7-13中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然图5的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属
技术领域
:的技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属
技术领域
:的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明也不因此而局限。虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了所属
技术领域
:中的技术人员显而易见的修改与相似设置。所以,权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1