计算系统及控制计算系统的方法与流程

文档序号:12733578阅读:207来源:国知局
计算系统及控制计算系统的方法与流程

技术领域
本发明的实施例总体上涉及一种计算系统,更具体地讲,涉及一种用于通信的系统。
背景技术
:现代消费和工业电子产品,特别是诸如图形计算系统、服务器、电视、投影仪、蜂窝电话、便携式数字助理和组合装置的装置,提供了越来越高级别的功能以支持现代生活。对现有技术的研究和开发可采取无数不同的方向。大多数电子产品需要数据存储。待存储的数据的通信是首要的。在提供灵活性以无缝地混合不同类型的存储装置和主机装置时,存储装置与主机装置之间的通信正在变得越来越复杂。因此,仍需要一种具有通信机制的计算系统,其具有鲁棒和可靠的机制,同时避免了基于专有信息的交互性问题。鉴于不断增加的商业竞争压力,以及增长的消费者预期和市场上的有意义的产品差异化的机会减少,寻找这些问题的答案日益重要。另外,对降低成本、提高效率和性能以及满足竞争压力的需求使寻找这些问题的答案的必要的紧迫性变大。长久以来一直在寻找这些问题的解决方案,但是之前的发展没有教导或提出任何解决方案,因此,本领域技术人员为能找到这些问题的解决方案。技术实现要素:本发明的实施例提供一种计算系统,包括:主机存储器,包括驱动器和地址映射;主机中央处理单元,结合至主机存储器,被构造为利用驱动器将命令划分成命令包,将命令包映射至地址映射,并且经由命令地址介质基于地址映射传送命令包。本发明的实施例提供一种计算系统,包括:主机接口,被构造为对来自命令地址介质的命令包进行解析;命令块,结合至主机接口,被构造为从命令包汇编出命令。本发明的实施例提供一种计算系统的控制的方法,包括:利用驱动器将命令划分成命令包;将命令包映射至地址映射;经由命令地址介质基于地址映射传送命令包。除了上述那些以外或者代替上述那些,本发明的某些实施方式具有其它步骤或元件。对于本领域技术人员而言通过参照附图阅读以下详细描述,所述步骤或元件将变得显而易见。附图说明图1是实施例的具有数据通信机制的计算系统的框图的示例。图2是用于实施例的计算系统所使用的通信机制的地址映射的示例的更详细示图。图3是利用实施例的计算系统所使用的通信机制发布命令的流程图的示例。图4是利用实施例的计算系统所使用的通信机制检索状态的流程图的示例。图5是本发明的实施例的计算系统的操作方法的流程图。具体实施方式各种实施例提供一种灵活的存储器接口;其在使用诸如DDR的易失性存储器接口的同时保留现有存储型系统的功能。各种实施例使用命令地址介质。作为具体示例,命令地址介质可以是针对非易失性存储器双列直插存储器模块(NVM-DIMM)的基于命令和地址(CA)总线的协议,其完全独立于主机中央处理单元(作为具体示例,中央处理单元(CPU)/平台、算法及其实现方式),其可被应用于具有任何纠错码(ECC)/加扰机制的任何系统上,从而允许广泛的系统采用。换言之,可使用命令地址介质来将命令或命令包传送至基于存储器通道的NVM-DIMM系统,而非使用数据传送介质。实施例可提供灵活性以脱离主机计算机的数据传送介质的专有实现方式(可包括涉及专有纠错码(ECC)、加扰和调配(swizzling)的数据传送)。各种实施例允许灵活地操作存储器通道装置,而无需从主机计算机(或者更具体地讲,主机中央处理单元)知道保护信息的细节。实施例允许经由命令地址介质处理和传输装置命令。同时,实施例使得主机计算机或主机中央处理单元能够经由用于传送的数据介质仍使用和发送保护信息(诸如,ECC保护/加扰/调配的数据)。充分详细地描述以下实施例以使得本领域技术人员能够实现并使用本发明。将理解,其它实施例将基于本公开显而易见,在不脱离本发明的实施例的范围的情况下可进行系统、处理或机制的改变。在以下描述中,给出了众多具体细节以提供实施例的彻底理解。然而,将显而易见的是,实施例可在没有这些具体细节的情况下实践。为了避免模糊实施例,一些公知电路、系统配置和处理步骤没有详细公开。示出系统的实施例的附图是半图解的,不按比例,具体地讲,一些尺寸是为了清晰呈现,在附图中夸大示出。类似地,尽管为了方便描述,附图中的视图通常呈现相似的取向,图中的这种描绘大多数情况下是随意的。通常,实施例可按照任何取向来操作。为了描述方便,实施例可被编号为第一实施例、第二实施例等,并非意在具有任何其它含义或者对实施例提供限制。本文中所提及的术语“模块”在本发明的实施例中根据使用术语的上下文可包括软件、硬件或者其组合。例如,软件可以是机器代码、固件、嵌入代码和应用软件。另外,例如,硬件可以是电路、处理器、计算机、集成电路、集成电路核心、压力传感器、惯性传感器、微机电系统(MEMS)、无源装置或其组合。另外,如果在下面的设备权利要求部分中撰写了模块,则所述模块被认为包括用于设备权利要求的目的和范围的硬件电路。现在参照图1,示出了本发明构思的实施例的具有通信机制的计算系统100的框图的示例。该框图描绘了连接到主机计算机102的存储系统101。在此示例中,主机计算机102可向计算系统100提供计算和接口资源。主机计算机102还可向计算系统100或者向计算系统100提供存储资源或者对存储资源进行接口连接。存储系统101可向计算系统100(或者作为具体示例,主机计算机102)提供存储容量或者扩展存储容量。作为实施例的示例,主机计算机102可经由特定存储器接口(诸如,易失性存储器接口或者作为更具体的示例,经双数据速率(DDR)易失性存储器接口),与存储系统101通信。为了灵活性,计算系统100可向主机计算机102和存储系统101混合和匹配各种组合。例如,主机计算机102可被设计成与易失性存储器(诸如早前提及的DDR)一起操作,而计算系统100想要更持久的存储器(诸如非易失性存储器,或者作为更具体的示例,固态盘(SSD)或闪速存储器装置)以用于存储系统101。实施例允许主机计算机102在使用易失性存储器接口(诸如DDR接口的物理层)的同时与作为非易失性存储器的存储系统101进行操作。出于示意性目的,计算系统100被描述成将主机计算机102与存储系统101混合和匹配,但是将理解,针对计算系统100的配置可不同。例如,主机计算机102可连接至不是必须提供存储功能的不同类型的系统。另外,例如,主机计算机102可使用存储接口(诸如,易失性存储器或DDR接口)以外的不同物理层接口。主机计算机102可使用DDR以外的不同通信协议。作为示例,主机计算机102可使用诸如用于局域网(LAN)、存储域网络(SAN)或城域网(MAN)的网络协议接口。主机计算机102还可使用无线接口以及有线接口。返回主机计算机102的描述,主机计算机102可按照多种方式来实现。作为示例,主机计算机102可以作为服务器、工作站、路由器、台式计算机、移动计算装置或者其组合。主机计算机102可至少包括主机中央处理单元104以及结合至主机中央处理单元104的主机存储器106。主机存储器106可向主机计算机102提供指令代码或数据存储。作为示例,主机存储器106可包括驱动器108和地址映射110。驱动器108可以是用于主机计算机102与存储系统101交互以及主机计算机102的其它功能的代码。地址映射110可提供用于主机计算机102可用来与存储系统101交互的系统地址的系统地址信息。作为具体示例,主机计算机102可使用驱动器108利用地址映射110将命令130转换为命令包131,如图1中的虚线所描绘的。命令包131可被发送至存储系统101。命令130是从主机计算机102发送至存储系统101的操作指令。命令130的示例包括将数据写入到存储系统101的写入命令或者从存储系统101读取数据的读取命令。命令130的其它示例包括状态查询和清除命令。命令包131是将被发送至存储系统101的针对各个命令130的部分。命令包131可包括基于命令130的格式(formatting)。命令130和命令包131将稍后进一步描述。主机中央处理单元104可提供用于主机计算机102的执行硬件电路。主机中央处理单元104可从主机存储器106检索代码或数据。出于示意性目的,在主机存储器106与主机中央处理单元104相分离和不同的情况下描述计算系统100,但是将理解,计算系统100可被不同地配置。例如,主机中央处理单元104可包括主机存储器106的至少一部分。主机中央处理单元104还可包括驱动器108的至少一部分。地址映射110也可至少部分地驻留于主机中央处理单元104内。主机中央处理单元104可包括外围接口112。外围接口112可向主机计算机102提供接口功能以及提供来自主机计算机102的接口功能。作为示例,外围接口112允许主机计算机102使用存储系统101。主机中央处理单元104可按照多种不同的方式利用硬件电路来实现。例如,主机中央处理单元104可以是处理器、专用集成电路(ASIC)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或者其组合。外围接口112可按照多种不同的方式利用硬件电路来实现。例如,外围接口112可利用数字电路、模拟电路或者其组合来实现。另外,例如,外围接口112可利用逻辑门、晶体管或者其组合来实现。在此示例中,存储系统101可包括主机接口114、命令块116、控制器118和存储器接口120。主机接口114提供存储系统101与主机计算机102(或者作为更具体的示例,外围接口112)之间的通信功能。主机计算机102和存储系统101可通过命令地址介质122和数据介质124进行通信。命令地址介质122可提供命令、地址和控制的通信。命令地址介质122可以是有线的或无线的。命令地址介质122可按照双向或单向的方式来操作。命令地址介质122可按照全双工或单工的方式工作。数据介质124可提供数据的通信。数据介质124可以是有线的或无线的。数据介质124可按照双向或单向的方式来操作。数据介质124可按照全双工或单工的方式工作。主机接口114可按照多种方式来实现。例如,主机接口114可利用包括数字电路、模拟电路、有限状态机、可编程逻辑或电路、处理器核、处理器或者其组合的硬件电路来实现。在此实施例中,作为示例,命令块116处理来自主机计算机102的命令包131。命令块116还可与控制器118交互以用于处理命令包131。命令块116还可从存储器接口120检索数据。另外,例如,控制器118可将接口提供给存储系统101提供接口、提供存储系统101的操作控制或者其组合。作为具体示例,控制器118可与存储器接口120交互。存储器接口120提供对外围存储器126的访问。在此示例中,控制器118可执行命令130以用于访问外围存储器126(该外围存储器126可以是非易失性存储器,诸如固态盘或者闪速存储器装置或者硬盘驱动器(HDD))。控制器118可按照多种方式来实现。例如,控制器118可被实现为处理器、处理器核、专用集成电路(ASIC)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、FPGA或其组合。另外,例如,控制器118可利用诸如数字电路或逻辑、模拟电路或其组合的硬件电路来实现。返回针对主机接口114的描述,主机接口114可包括命令包生成器(CPG)128、主机写入缓冲器132和主机读取缓冲器134。命令包生成器128生成或解析来自主机计算机102的命令包131。如稍后进一步描述的,命令包生成器128基于命令地址介质122上承载的信息来生成或解析命令包131。主机写入缓冲器132辅助在主机计算机102与存储系统101之间传送信息。作为示例,主机写入缓冲器132可从命令地址介质122、数据介质124或其组合接收信息。主机写入缓冲器132可用作存储系统101的其它部分检索和使用信息之前的临时存储。主机写入缓冲器132可按照多种方式来实现。例如,主机写入缓冲器132可被实现为处理器、处理器核、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、FPGA或其组合。主机写入缓冲器132还可利用诸如随机存取存储器(RAM)、逻辑寄存器或其组合的存储器结构来实现。作为更具体的示例,主机写入缓冲器132可利用先入先出(FIFO)功能、链表或队列来实现。主机读取缓冲器134辅助在主机计算机102与存储系统101之间传送信息。作为示例,主机读取缓冲器134可从命令块116、控制器118、存储器接口120或其组合接收信息。主机读取缓冲器134可向命令地址介质122、数据介质124或其组合提供信息。主机读取缓冲器134可用作主机计算机102检索和使用信息之前的临时存储。主机读取缓冲器134可按照多种方式来实现。例如,主机读取缓冲器134可被实现为处理器、处理器核、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、FPGA或其组合。主机读取缓冲器134还可利用诸如随机存取存储器(RAM)、逻辑寄存器或其组合的存储器结构来实现。作为更具体的示例,主机读取缓冲器134可利用先入先出(FIFO)功能、链表或队列来实现。返回命令块116的描述,作为示例,命令块116可包括命令包汇编器(CPA)136、命令队列138、配置状态块140、存储器写入缓冲器142、响应缓冲器144或其组合。命令包汇编器136可将命令包131的序列或子序列累积成命令130之一的完整版本。命令包汇编器136的更多细节将稍后描述。命令块116可按照多种方式来实现。例如,命令块116可被实现为处理器、处理器核、专用集成电路(ASIC)、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、FPGA或其组合。另外,例如,命令块116可利用诸如数字电路或逻辑、模拟电路或其组合的硬件电路来实现。在此示例中,命令队列138可提供用于命令130的完整版本的存储。来自命令队列138的命令130可由控制器118执行。控制器118可与存储器接口120交互以完成命令130的执行。另外,在此示例中,配置状态块140可提供配置存储系统101以及从存储系统101检索状态信息141的能力。存储器写入缓冲器142辅助在存储器接口120和主机写入缓冲器132、控制器118、命令包汇编器136、命令队列138、配置状态块140或其组合之间的信息传送。作为示例,存储器写入缓冲器142可用作存储系统101的其它部分检索和使用信息之前的临时存储。响应缓冲器144辅助在主机读取缓冲器134与存储系统101的其它部分之间的信息传送。作为示例,响应缓冲器144可将信息从存储器接口120、配置状态块140、控制器118或其组合提供给主机读取缓冲器134。此实施例可以是持久地更接近主机中央处理单元104移动数据(更一般地讲,接近主机中央处理单元104移动数据)的应用示例,以用于进行性能改进、省电或其组合,特别是在大数据时代。已发现,实施例提供一种在使用诸如DDR的易失性存储器接口的同时保留现有存储系统的功能的灵活的存储器接口。各种实施例针对非易失性存储器双列直插存储器模块(NVM-DIMM)而利用命令地址介质122(作为具体示例,基于命令和地址(CA)总线的协议),其完全独立于主机中央处理单元104(作为具体示例,中央处理单元(CPU)/平台、算法及其实现方式),其可被应用于具有任何ECC/加扰机制的任何系统上,从而允许广泛的系统采用。换言之,可使用命令地址介质122来传送命令130或命令包131,而非使用数据介质124。实施例可提供灵活性以脱离主机计算机102在数据介质124上的专有实现方式(可包括涉及专有纠错码(ECC)、加扰和调配的数据传送)。作为此实施例的更具体的示例,计算系统100可使用命令地址介质122,而非数据介质124来将命令130作为命令包131从主机计算机102传送给存储系统101。命令130(或者作为具体示例,命令包131)的示例可包括SSD命令,诸如,写入数据、读取数据、读取状态、配置命令、清除命令或其组合。计算系统100或主机计算机102可利用驱动器108来使用系统地址中的预定地址空间和地址映射110经由命令地址介质122传送命令130(或者作为具体示例,命令包131)。继续此示例,计算系统100可利用数据介质124来在主机计算机102和存储系统101之间传送数据。与经由数据介质124的数据关联的其它信息(这种其它信息包括ECC编码、加扰、调配或其组合)可被当作数据并且在不被改变的情况下被存储在存储系统101中,并且无需知道ECC、加扰器和调配器的细节。主机计算机102可经由命令地址介质122来传送在哪里存储此数据的地址信息(诸如外围存储器126的存储器区域)。进一步继续此示例,计算系统100可通过数据介质124检索状态信息141以用于由存储系统101执行命令130。可从配置状态块140检索状态信息141。作为更具体的示例,经由命令地址介质122的命令130(或者作为具体示例,命令包131)可包括状态查询、命令查询和配置读取。这些类型的命令130也可通过命令包生成器128、命令包汇编器136或其组合来处理。在此示例中,命令包汇编器136一次处理命令130之一。一旦通过命令包汇编器136处理了命令包131的所有字段,完成的或者完整的命令130可被移至命令队列138。另外,命令包生成器128可解析来自命令地址介质122的地址比特。地址比特的示例包括体组、体(bank)、行和列信息。另外,作为示例,配置状态块140中的状态信息141可直接由主机计算机102利用对系统地址空间进行重映射的地址映射110直接访问以便于读取。现在参照图2,这里示出了实施例的用于图1的计算系统100所使用的通信机制的地址映射110的示例的更详细的示图。如早前所述,地址映射110使图1的主机计算机102能够与图1的存储系统101交互。作为具体示例,主机计算机102可使用地址映射110利用图1的驱动器108以通过图1的命令地址介质122(而非图1的数据介质124)来传送图1的命令130。来自命令地址介质122的命令130可由图1的命令包生成器128、图1的命令包汇编器136或其组合来处理。作为示例,图2中所描绘的地址映射110是用于DDR的接口,即使存储系统101可包括非易失性存储器。可针对体组202或者体组202中的体204来组织地址映射110。作为具体示例,在地址映射110中,可用4个比特来表示体组202,体204可按照从0至F的十六进制地址来表示。另外,在地址映射110中可像针对DDR地址的示例中一样来提供行和列地址。根据图1的外围存储器126的具体情况,行地址可为14至18比特,列地址可为10比特,但是在其它实施例中可使用其它大小。在此示例中,地址映射110可被划分成不同的程序区域。体204中的一个体可被专用于写入端口206。写入端口206允许主机计算机102向存储系统101写入数据。体204中另一个体可被专用于读取端口208。读取端口208允许主机计算机102从存储系统101读取数据。继续此示例,体204中的另一体可被专用于状态读取端口210。状态读取端口210允许主机计算机102读取针对发送至存储系统101的命令130的图1的状态信息141。体204中的另一体可被专用于状态配置读取或清除212。状态配置读取或清除212允许主机计算机102从存储系统101读取配置或者清除存储系统101中的配置。在此示例中,地址映射110还具有多个命令端口214,各个命令端口214具有多个体204,以用于将图1的各个命令130作为图1的命令包131从主机计算机102传送给存储系统101。标记为0至5的体204可共同地表示命令端口0(标记为端口0.0至0.5)。标记为8至D的体204可共同地表示命令端口1(标记为端口1.0至1.5)。在此示例中,主机计算机102可使用驱动器108以确保主机计算机102对存储系统101的各个访问被转换至地址映射110中的适当体204。作为具体示例,命令包131可被映射至地址映射110的适当端口以传送命令130。下表1描绘了命令包131的示例。标记为“字段”的列表示用于各个命令包131的部分的功能。标记为“宽度”的列表示用于该特定字段的比特的数量。标记为“注释”的列提供该字段的简短功能描述。表1:命令包字段宽度注释VALID_MASK8保护(由于垃圾值导致的)无效操作STREAM_ID8用于分离的数据的重新汇编CMD_ID16命令标签FEATURE16关于主机接口的信息OPCODE16命令的操作代码SECTOR_COUNT16用于写入的数据块大小LBA48LBA。考虑块大小CRC8命令的CRC,用于信号传送保护STREAM_ID可由命令包汇编器136用来将命令包131的子序列汇编成一个完整命令130。CRC是循环冗余校验的缩写,但是此字段可使用任何检错方案或代码。现在参照图3,这里示出了实施例的利用图1的计算系统100所使用的通信机制发布命令130的流程图的示例。作为此实施例的示例,流程图可包括命令发布302、命令传输304、命令提取306和命令汇编308。命令发布302准备将从图1的主机计算机102发送的命令130。作为示例,主机计算机102(或者作为具体示例,主机中央处理单元104)可利用驱动器108处理命令130。此处理可将各个命令130适当地分割或划分成图2的地址映射110的字段。此处理还可将各个命令130分割或划分成图1的命令包131。作为具体示例,驱动器108可指示将各个命令130打碎成命令包131或者存储器访问的子序列,并且将命令包131映射至地址映射110的适当端口。流程可前进至命令传输304。命令传输304从主机计算机102发送命令130。作为示例,主机计算机102(或者作为具体示例,主机中央处理单元104)可将分割或划分的命令130(或者换言之,命令包131)发送至存储系统101。主机计算机102可利用体204发送命令包131以经由命令地址介质122(而非经由数据介质124)发送图2的适当字段。类似地,存储系统101经由命令地址介质122(而非经由数据介质124)接收命令包131。在图3所示的示例中,正被处理的命令130是写入命令,命令包131被示出于标记为0、4、1、3、5和2的体204中。主机计算机102或者主机中央处理单元104可经由命令地址介质122发布6个存储器写入,针对标记为0至5的体204的地址映射110中的每个命令端口是一个存储器写入。可为读取命令或写入命令保留命令端口或者各个体204。主机计算机102仍可正常地对外围存储器126执行直接读取或写入。流程可前进至命令提取306。直接读取或写入表示来自主机中央处理单元104的数据可在没有ECC解码/编码、解扰/加扰、也不涉及调配的情况下从存储系统101读取/写入到存储系统101。命令提取306从主机计算机102接收命令包131。命令提取306还从经由命令地址介质122接收的信息解析出命令包131。作为示例,存储系统101(作为具体示例,主机接口114)可从命令地址介质122接收命令包131。作为实施例的示例,图1的命令包生成器136解析并提取从图1的命令地址介质122、主机写入缓冲器132或其组合接收的包括命令包131信息。流程可前进至命令汇编308。命令汇编308从命令包131构成完整命令130。作为示例,图1的命令块116(或者作为具体示例,图1的命令包汇编器136)基于命令传输304中所使用的体204的体号将命令包131排序成正确的顺序。还可基于命令包131中的STREAM_ID字段(示出于表1中)来对命令包131进行排序。另外,命令汇编308还可对各个命令包131或者由命令包汇编器136汇编的命令130执行错误检测。错误检测可基于表1所示的CRC字段来进行。一旦错误检测通过,汇编的命令130就可被发送至图1的命令队列138。出于示意性目的,从命令发布302至命令汇编308的流程图被示出为线性和单向流程,但是将理解,流程图可不同。例如,流程图中可存在并行的活动。在命令汇编308正在处理命令130中的一个命令时,命令提取306可并行处理命令130中的另一命令,其中命令提取306和命令汇编308二者可均在存储系统101中执行。另外,可利用命令传输304并行处理命令130中的另一命令,以及利用命令发布302的并行操作(在此示例中,在主机计算机102中执行)。术语“并行”表示利用重叠操作来执行,而无需等待利用图3所示的整个流程进行并完成命令130中的一个命令,然后在图3中的流程的不同阶段处理命令130中的另一命令。类似地,甚至在命令传输304完成较早命令130的处理之前,命令发布302可使用地址映射110中的不同命令端口。作为实施例的示例,一个命令130处理的限制可被实施为:一个命令130必须完全从命令传输304移除,然后那些命令端口中的任何命令端口才可用于下一命令130。另外,例如,流程图可具有迭代和循环。在命令汇编308中的错误检测的示例中,代替将错误版本的命令130发送至命令队列138,流程可从命令汇编308返回到命令发布302、命令传输304、命令提取306或其组合。现在参照图4,这里示出了在实施例的利用图1的计算系统100所使用的通信机制检索图1的状态信息141的流程图的示例。表2包括图1的配置状态块140中的状态信息141的示例。表2:状态每一个CMD_ID表示用于操作存储系统101的存储器装置的命令。例如,命令可以是读取、写入、状态查询、清除或其组合。所有命令均预定义,并且可指派有唯一标识。图4中所描绘的流程图是读取状态信息141的处理的示例。此示例描绘了在图1的存储系统101内发生的处理。在此示例中,命令处理可像图3中一样描述,并且为了简明地示出,图中未示出那部分的流程图。在此示例中,流程图可包括状态准备402、状态加载404、冗余映射406和状态返回408。状态准备402指示正被请求的适当的状态信息141。状态信息141的示例示出于表2中。状态加载404加载针对状态请求的读取端口寄存器410。冗余映射406基于状态信息141提供可用于错误检测或纠错的保护信息412。保护信息412还可包括数据的加扰和调配(二者均可为专有的,不容易知道)。状态返回408提供状态信息141以及保护信息412(如果有的话)。保护信息412通常为专有的,实施例使得数据能够作为无需知道ECC、加扰、调配或其组合的细节的数据而被存储在存储系统101中。已发现,实施例允许灵活地利用通信机制操作,而无需知道来自该通信机制的主机计算机102(或者更具体地讲,主机中央处理单元104)的保护信息412的细节。实施例允许经由命令地址介质122处理和传输命令130。此外,实施例使得主机计算机102或主机中央处理单元104能够仍经由数据介质124使用和发送保护信息412。作为示例,图1的主机计算机102可通过利用图3的命令发布302发布图3的写入命令130来请求状态。图3的命令传输340可经图2的命令地址介质122利用所请求的特定状态信息141的适当标识来传送针对状态信息141的命令130(作为更具体的示例,作为命令包131)。如此示例中一样,所述标识可以是表2中所示的状态信息141的字段之一。存储系统101可利用图3中所描述的流程的至少一部分来处理针对状态信息141的命令130。作为具体示例,图1的命令包生成器128可针对图1的命令包131分割或划分来自命令地址介质122的信息。图1的命令包汇编器136可对命令包131进行排序。在完全汇编之后,命令130可从命令包汇编器136发送至配置状态块140。在此示例中,配置状态块140可执行状态准备402。可将来自命令130的标识与如表2所示的状态信息141的字段之一进行匹配。可选择与标识匹配的状态信息141,并且存储系统101可向状态加载404指示该部分的状态信息141。状态加载404可将来自状态准备402的状态信息141加载到读取端口寄存器410。作为示例,可通过图2的地址映射110和图2的状态读取端口210来访问读取端口寄存器410。另外,例如,读取端口寄存器41可以是图1的响应缓冲器144的一部分或在其外部。另外,作为示例,读取端口寄存器410可以是图1的主机读取缓冲器134的一部分或在其外部。流程可从状态加载404继续进行到冗余映射406。冗余映射406提供与读取端口寄存器410中的状态信息141关联的保护信息412。冗余映射406可按照多种方式提供保护信息412。例如,可通过利用从存储系统101发送至主机计算机102的状态信息141进行训练来获得保护信息412。训练可基于已知的表2中的状态信息141的各种字段,保护信息412未知。作为具体示例,训练可由图1的命令块116、图1的控制器118或其组合来执行。利用已知允许计算出保护信息412是什么,该保护信息412可被存储在查找表(LUT)中。保护信息412可以是LUT中的条目,其中,状态信息141的值可用作对LUT的索引。可通过多种触发来调用冗余映射406的执行。作为示例,可基于作为指明状态信息141的哪一字段的标识被请求的写入函数的命令130来执行冗余映射406。作为另一示例,可基于用于读取状态信息141的命令130来执行冗余映射406,其描述如下。主机计算机102可发布用于读取状态信息141和关联的保护信息412的命令130。作为示例,主机计算机102可执行状态信息141的直接读取,而不使用命令发布302或命令传输304。可利用主机计算机102通过发布关于命令地址介质122的读取端口寄存器410的地址来执行直接读取。状态返回408可操作,使得读取端口寄存器410可经由图1的数据介质124返回状态信息141和关联的保护信息412。作为具体示例,如果命令130为写入图2的体组202E(十六进制)或者图2的状态配置读取或清除212的“RdStatus”,则已被指明的状态信息141被移至读取端口寄存器410。使用读取端口寄存器410中的值来从LUT检索保护信息412。状态信息141、保护信息412或其组合可被移至配置状态块140、主机读取缓冲器134或其组合以由主机计算机102读取。如果命令130被写入体组202F(十六进制),则状态信息141、保护信息412或其组合被配置状态块140、主机读取缓冲器134或其组合读出。如果命令130是写入体组202E(十六进制)的“ClrStatus”,则状态信息141的部分可被清除。现在参照图5,这里示出了本发明的实施例的计算系统100的操作方法的流程图。该方法500包括:在方框502中利用驱动器将命令划分成命令包;在方框504中,将命令包映射至地址映射;以及,在方框506中,经由命令地址介质基于地址映射传送命令包。作为示例,方框502可由图1的主机计算机102(或者作为具体示例,由图1的主机中央处理单元104)执行。另外,作为示例,方框504可由主机计算机102(或者作为具体示例,由主机中央处理单元104)执行。另外,例如,方框506可由主机计算机102(或者作为具体示例,由图1的外围接口112)执行。方框506还可进一步包括访问地址映射的体。方框506还可进一步包括基于地址映射传送用于写入的命令以请求状态信息,并且方法500进一步包括发布用于读取状态信息的另一命令。方法500可进一步包括对来自命令地址介质的命令包进行解析或者从来自命令地址介质的命令包汇编出命令。方法500可进一步包括:进行训练以计算保护信息或者经由数据介质接收保护信息。方法500可进一步包括对命令包进行排序以对命令进行汇编或者不经由数据介质接收命令包,此排序可由图1的命令块116执行。方法500还可进一步包括由图1的存储系统101提供非易失性存储。所得方法、处理、设备、装置、产品和/或系统是简单的、成本效益高的、不复杂的、高度多样化的、精确的、灵敏的和有效的,可通过修改已知的组件来实现以便于容易、有效和经济的制造、应用和利用。本发明的实施例的另一重要方面在于,它有益地支持并服务于降低成本、简化系统和增加性能的历史趋势。因此本发明的实施例的这些和其它有价值的方面将技术状态至少推进至下一水平。尽管结合特定最佳模式描述了本发明,将理解,对于本领域技术人员而言通过以上描述,许多替代、修改和变化将是显而易见的。因此,旨在涵盖落入所包括的权利要求书的范围内的所有这些替代、修改和变化。本文所阐述的或者附图中所示出的所有内容均将从示意性而非限制性意义上解释。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1