发明名称 使用非挥发性快取记忆体之无碟网路可开机电脑之可靠度提升;IMPROVED RELIABILITY OF DISKLESS NETWORK-BOOTABLE COMPUTERS USING NON-VOLATILE MEMORY CACHE
摘要 兹提供一种方法及设备,其使用一非挥发性记忆体(NVM)的本地快取记忆体来提供一可靠的无碟网路可开机电脑。当网路是暂时不可用或速度慢的时候,由该电脑使用这NVM快取记忆体。当网路状况改善的时候,稍后将该快取记忆体与具有远端储存容量的一远端开机伺服器同步。判定资料是要储存在NVM快取记忆体或远端储存容量中。送到该远端储存容量的资料是被交易地写入,如果正好发生网路停摆或者尚未收到交易完成讯息,则将资料缓冲储存在NVM快取记忆体中。储存在该NVM快取记忆体中的资料允许使用者在网路停摆期间继续操作,并且如果网路是不可用,则能够使用该NVM快取记忆体中的资料来冷开机(cold-booted)该电脑。
申请公布号 TWI329441 申请公布日期 2010.08.21
申请号 TW092132454 申请日期 2003.11.19
申请人 微软公司 MICROSOFT CORPORATION 美国 发明人 尼克森克拉克D;威斯特林威廉J;森克爱尔根;福汀麦克R;艾奕冈美贺梅特
分类号 主分类号
代理机构 代理人 蔡坤财 台北市中山区松江路148号11楼;李世章 台北市中山区松江路148号11楼
主权项 1.一种在一具有一非挥发性记忆体(NVM)之快取记忆体的电脑中用于可靠地操作一电脑作业系统之方法,该电脑连接到一具有一远端储存容量的网路,该方法至少包含以下步骤:从一应用程式和该电脑作业系统二者其中一者接收资料;判定该资料是要储存在该NVM快取记忆体或该远端储存容量中;使要储存在该NVM快取记忆体中的该资料写入到该NVM快取记忆体;若该资料是要储存在该远端储存容量中,则使该资料交易地写入到该远端储存容量;若该网路正在发生一停摆和尚未收到一交易完成讯息二者其中一者,则使要储存在该远端储存容量的该资料缓冲储存在该NVM快取记忆体中;当该网路正在运作时,使缓冲储存在该NVM快取记忆体中要储存于该远端储存容量的该资料交易地写入到该远端储存容量;及在使该电脑作业系统电源关闭和休眠二者至少一者之前,判定要储存于该NVM快取记忆体的资料、静态组态资料和动态组态资料。 ;2.如申请专利范围第1项所述之方法,更包含以下步骤:将在该网路发生一停摆期间由一使用者用来继续操作所需的资料储存在该NVM快取记忆体中。 ;3.如申请专利范围第2项所述之方法,更包含维护该使用者的一先前使用史之步骤。 ;4.如申请专利范围第1项所述之方法,其中该判定该资料、静态组态资料和动态组态资料的步骤至少包括以下步骤:若该网路发生一停摆,则判定该资料、一组静态组态资料和一组动态组态资料为允许一使用者继续工作的资料。 ;5.如申请专利范围第4项所述之方法,其中该判定该资料、该组静态组态资料和该组动态组态资料的步骤,包括以下至少一者:在使该电脑作业系统电源关闭或休眠二者至少一者之前,判定桌上型电脑的设定、判定键盘的设定,及判定过去所使用的资料档案。 ;6.如申请专利范围第4项所述之方法,更包含以下步骤:当开启该电脑时,如果该网路是不可用的,则从该NVM快取记忆体开机该电脑。 ;7.如申请专利范围第6项所述之方法,更包含以下步骤:在该网路变为可用之后,使该NVM快取记忆体中的资料和该远端储存容量中的资料同步。 ;8.如申请专利范围第4项所述之方法,更包含从该NVM快取记忆体开机该电脑之步骤。 ;9.如申请专利范围第8项所述之方法,更包含以下步骤:检查在该NVM快取记忆体上的资料和该远端储存容量上的资料之修改日期,以及从该远端储存容量载入比该NVM快取记忆体中之资料更近期的资料。 ;10.如申请专利范围第4项所述之方法,更包含以下步骤:若该网路是不可用的,则使用该NVM快取记忆体从休眠中恢复作业。 ;11.如申请专利范围第10项所述之方法,更包含以下步骤:若储存在该NVM快取记忆体中之资料、静态组态资料和动态组态资料与储存在该远端储存容量中之资料、静态组态资料和动态组态资料不一致,则对储存在该NVM快取记忆体中之资料、静态组态资料和动态组态资料或储存在该远端储存容量中之资料、静态组态资料和动态组态资料二者其中一者进行更新。 ;12.如申请专利范围第1项所述之方法,更包含以下步骤:在电源关闭期间,使从该应用程式送出且要送到该远端储存容量的资料写入到该NVM快取记忆体中。 ;13.如申请专利范围第1项所述之方法,更包含以下步骤:若尚未收到该交易完成讯息,则使资料重送到该远端储存容量。 ;14.一种在一具有一非挥发性记忆体(NVM)之快取记忆体的电脑中用于可靠地操作一电脑作业系统之方法,该电脑连接到一具有一远端储存容量的网路,该方法至少包含以下步骤:从一应用程式和该电脑作业系统二者其中一者接收资料;判定该资料是要储存在该NVM快取记忆体或该远端储存容量中;使要储存在该NVM快取记忆体中的该资料写入到该NVM快取记忆体;若该资料是要储存在该远端储存容量中,则使该资料交易地写入到该远端储存容量;若该网路正在发生一停摆和尚未收到一交易完成讯息二者其中一者,则使要储存在该远端储存容量的该资料缓冲储存在该NVM快取记忆体中;当该网路正在运作时,使缓冲储存在该NVM快取记忆体中要储存于该远端储存容量的该资料交易地写入到该远端储存容量;及判定储存在该NVM快取记忆体中之资料、静态组态资料和动态组态资料是否与储存在该远端储存容量上之资料、静态组态资料和动态组态资料相一致。 ;15.一种具有一实体组件及多数电脑可执行指令之电脑可读取媒体,用于在一具有一非挥发性记忆体(NVM)之快取记忆体的电脑中执行可靠地操作一电脑作业系统之步骤,该电脑连接到一具有一远端储存容量的网路,该些步骤至少包含以下步骤:从一应用程式和该电脑作业系统二者其中一者接收资料;判定该资料是要储存在该NVM快取记忆体或该远端储存容量中;若该资料是要储存在该远端储存容量中,则使该资料交易地写入到该远端储存容量;若该网路正在发生一停摆和尚未收到一交易完成讯息二者其中一者,则使要储存在该远端储存容量中的该资料缓冲储存在该NVM快取记忆体中;当该网路正在运作时,使缓冲储存在该NVM快取记忆体中要储存于该远端储存容量的该资料交易地写入到该远端储存容量;及在使该电脑作业系统电源关闭和休眠二者至少一者之前,判定要储存于该NVM快取记忆体的资料、静态组态资料和动态组态资料。 ;16.如申请专利范围第15项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:使要储存在该NVM快取记忆体的该资料写入到该NVM快取记忆体。 ;17.如申请专利范围第15项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:将在该网路发生一停摆期间由一使用者用来继续操作所需的资料储存在该NVM快取记忆体中。 ;18.如申请专利范围第15项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:维护该使用者的一先前使用史。 ;19.如申请专利范围第15项所述之电脑可读取媒体,其中该判定资料、静态组态资料和动态组态资料的步骤至少包括以下步骤:若该网路发生一停摆,则判定该资料、一组静态组态资料和一组动态组态资料为允许一使用者继续工作的资料。 ;20.如申请专利范围第19项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:当开启该电脑时,如果该网路是不可用的,则从该NVM快取记忆体开机该电脑。 ;21.如申请专利范围第19项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:若该网路是不可用的,则使用该NVM快取记忆体从休眠中恢复作业。 ;22.如申请专利范围第15项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:在电源关闭期间,使从该应用程式送出且要送到该远端储存容量的资料写入到该NVM快取记忆体中。 ;23.如申请专利范围第15项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:若尚未收到该交易完成讯息,则使资料重送到该远端储存容量。 ;24.如申请专利范围第15项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:判定该资料、静态组态资料和动态组态资料是否与储存在一磁碟机上之资料、静态组态资料和动态组态资料相一致。 ;25.如申请专利范围第24项所述之电脑可读取媒体,更具有用以执行以下步骤之电脑可执行指令:若储存在该NVM快取记忆体中之资料、静态组态资料和动态组态资料不与储存在该远端储存容量中之资料、静态组态资料和动态组态资料相一致,则进行以下动作之一者:使储存在该NVM快取记忆体中之资料、静态组态资料和动态组态资料进行更新;及使储存在该NVM快取记忆体上之资料、静态组态资料和动态组态资料复制于该远端储存容量中。 ;26.一种在一具有一非挥发性记忆体(NVM)之快取记忆体的电脑中用于可靠地操作一电脑作业系统之方法,该电脑连接到一具有一远端储存容量的网路,该方法至少包含以下步骤:从一应用程式和该电脑作业系统二者其中一者接收资料;基于一使用者的先前使用史,判定该资料是否要储存在该NVM快取记忆体中;若判定该资料是要储存在该NVM快取记忆体中,则使该资料写入到该NVM快取记忆体;若判定该资料不是要储存在该NVM快取记忆体中,则使该资料传送到该远端储存容量;回应该网路发生一停摆和未收到一交易完成讯息二者其中一者,而使要储存在该远端储存容量中的该资料缓冲储存在该NVM快取记忆体中;及当该网路正在运作时,使缓冲储存在该NVM快取记忆体中要储存于该远端储存容量的该资料传送到该远端储存容量。 ;27.如申请专利范围第26项所述之方法,其中要储存在该NVM快取记忆体中的该资料,包括在该网路发生一停摆期间由该电脑用来继续操作所需的资料。 ;28.如申请专利范围第27项所述之方法,更包含维护该使用者的先前使用史之步骤。 ;29.如申请专利范围第26项所述之方法,更包含以下步骤:暂时性地的将来自该应用程式要传送到该远端储存容量的资料储存在该NVM快取记忆体中,以在失去电源时能保存该资料。 ;30.如申请专利范围第26项所述之方法,更包含以下步骤:若尚未接收到该交易完成讯息,则将该资料重新传送到该远端储存容量。 ;31.一种用于可靠地操作一具有一非挥发性记忆体(NVM)之快取记忆体的电脑之方法,该电脑连接到一具有一远端储存容量的网路,该方法至少包含以下步骤:接收一开机请求;判定该网路是否为可用;若该网路为可用,则使用储存在该远端储存容量中的静态组态资料和动态组态资料来开机该电脑;若该网路不可用,则使用储存在该NVM快取记忆体中的静态组态资料和动态组态资料来开机该电脑;从该电脑上执行的一作业系统接收资料;基于一使用者的先前使用史,判定该资料是否要储存在该NVM快取记忆体中;若判定该资料是要储存在该NVM快取记忆体中,则使该资料写入到该NVM快取记忆体;及若判定该资料不是要储存在该NVM快取记忆体中,则使该资料传送到该远端储存容量。 ;32.如申请专利范围第31项所述之方法,更包含以下步骤:在该资料储存在该远端储存容量上后,在该电脑处接收一完成讯息。 ;33.如申请专利范围第31项所述之方法,更包含以下步骤:定期地执行以下动作之一者:更新该NVM快取记忆体中的资料;及使储存在该NVM快取记忆体中的资料传送到该远端储存容量,用以复制该资料于该远端储存容量中。 ;34.如申请专利范围第31项所述之方法,其中该远端储存容量包括一非挥发性记忆体(NVM)之快取记忆体,该方法更包含以下步骤:使该静态组态资料和该动态组态资料储存在该非挥发性记忆体(NVM)之快取记忆体中,该静态组态资料和该动态组态资料具有一初始化时间,该初始化时间是大致等于该远端储存容量中一磁碟机的一起转时间;在该电脑的一开机期间和该电脑从休眠中的一恢复期间二者至少一者,当该磁碟机正在起转时,初始化储存在该非挥发性记忆体(NVM)之快取记忆体中的该静态组态资料和该动态组态资料;及在该电脑的该开机期间和该电脑从休眠中的该恢复期间二者至少一者,初始化储存在该磁碟机上其余的静态组态资料和动态组态资料。 ;35.一种电脑程式产品,其承载一网路堆叠且常驻于一具有一非挥发性记忆体之快取记忆体的电脑中,该网路堆叠至少包含:一预测快取记忆体控制模组,用于执行以下动作:基于一使用者的先前使用史,判定资料是否要储存在该非挥发性记忆体之快取记忆体中;当该资料是要储存在该非挥发性记忆体之快取记忆体中时,使该资料储存在该非挥发性记忆体之快取记忆体中;及当该资料不是要储存在该非挥发性记忆体之快取记忆体中时,使该资料传送到一远端储存容量;一档案系统过滤驱动程式,其与该预测快取记忆体控制模组通讯,该档案系统过滤驱动程式用以处理错误;一档案系统,其与该档案系统过滤驱动程式通讯,该档案系统用以从该远端储存容量中的一硬碟获取档案并传送该些档案;一写入快取记忆体过滤驱动程式,其与该档案系统和该非挥发性记忆体之快取记忆体通讯;一网路协定层,其与该写入快取记忆体过滤驱动程式通讯;及一网路配接卡驱动程式,其与该网路协定驱动程式和该远端储存容量通讯。 ;36.如申请专利范围第35项所述之电脑程式产品,其中该网路堆叠更包含在该写入快取记忆体过滤驱动程式和该非挥发性记忆体之快取记忆体之间的一非挥发性快取记忆体驱动程式,该非挥发性快取记忆体驱动程式与该写入快取记忆体过滤驱动程式和该非挥发性记忆体之快取记忆体通讯。 ;37.如申请专利范围第35项所述之电脑程式产品,其中若该网路发生一停摆,则该写入快取记忆体过滤驱动程式使要传送到该远端储存容量的资料写入到该非挥发性记忆体之快取记忆体。 ;38.如申请专利范围第35项所述之电脑程式产品,其中该写入快取记忆体过滤驱动程式更与该档案系统过滤驱动程式和该预测快取记忆体控制模组通讯。 ;39.一种具有多数电脑可执行指令之电脑可读取储存媒体,用于在一具有一非挥发性记忆体(NVM)之快取记忆体的电脑中可靠地操作一电脑作业系统,该电脑连接到一具有一远端储存容量的网路,该些电脑可执行指令至少包含执行以下动作之指令:从一应用程式和该电脑作业系统二者其中一者接收资料;基于一使用者的先前使用史,判定该资料是否要储存在该NVM快取记忆体中;若判定该资料是要储存在该NVM快取记忆体中,则使该资料写入到该NVM快取记忆体;若判定该资料不是要储存在该NVM快取记忆体中,则使该资料传送到该远端储存容量;回应该网路发生一停摆和未收到一交易完成讯息二者其中一者,而使要储存在该远端储存容量中的该资料缓冲储存在该NVM快取记忆体中;及当该网路正在运作时,使缓冲储存在该NVM快取记忆体中要储存于该远端储存容量的该资料传送到该远端储存容量。 ;40.如申请专利范围第39项所述之电脑可读取储存媒体,其中要储存在该NMV快取记忆体中的该资料包括该电脑经常存取的资讯。 ;41.如申请专利范围第39项所述之电脑可读取储存媒体,其中要储存在该NMV快取记忆体中的该资料,包括在该网路发生一停摆期间由该电脑用来继续操作所需的资讯。 ;42.如申请专利范围第39项所述之电脑可读取储存媒体,更具有用以执行以下动作之电脑可执行指令:维护该使用者的先前使用史。 ;43.如申请专利范围第39项所述之电脑可读取储存媒体,更具有用以执行以下动作之电脑可执行指令:暂时性地的将来自该应用程式要传送到该远端储存容量的资料储存在该NVM快取记忆体中,以在失去电源时能保存该资料。 ;44.如申请专利范围第39项所述之电脑可读取储存媒体,更具有用以执行以下动作之电脑可执行指令:若尚未接收到该交易完成讯息,则将该资料重新传送到该远端储存容量。 ;45.如申请专利范围第39项所述之电脑可读取储存媒体,更具有用以执行以下动作之电脑可执行指令:判定储存在该NVM快取记忆体中的该资料是否与储存在该远端储存容量的一磁碟机上的该资料相一致。 ;46.如申请专利范围第45项所述之电脑可读取储存媒体,更具有用以执行以下动作之一者之电脑可执行指令:若判定储存在该NVM快取记忆体中之该资料不与储存在该远端储存容量中之该资料相一致,则对储存在该NVM快取记忆体中之该资料进行更新;及若判定储存在该远端储存容量中之该资料不与储存在该NVM快取记忆体中之该资料相一致,则使储存在该NVM快取记忆体中的该资料传送到该远端储存容量以进行复制。 ;47.一种具有多数电脑可执行指令之电脑可读取储存媒体,用于可靠地操作一具有一非挥发性记忆体(NVM)之快取记忆体的电脑,该电脑连接到一具有一远端储存容量的网路,该些电脑可执行指令至少包含执行以下动作之指令:接收一开机请求;判定该网路是否为可用;若该网路为可用,则使用储存在该远端储存容量中的静态组态资料和动态组态资料来开机该电脑;若该网路不可用,则使用储存在该NVM快取记忆体中的静态组态资料和动态组态资料来开机该电脑;从该电脑上执行的一作业系统接收资料;基于一使用者的先前使用史,判定该资料是否要储存在该NVM快取记忆体中;若判定该资料是要储存在该NVM快取记忆体中,则使该资料写入到该NVM快取记忆体;及若判定该资料不是要储存在该NVM快取记忆体中,则使该资料传送到该远端储存容量。 ;48.如申请专利范围第47项所述之电脑可读取储存媒体,更具有用以执行以下动作之电脑可执行指令:在该资料储存在该远端储存容量上后,在该电脑处接收一完成讯息。 ;49.如申请专利范围第47项所述之电脑可读取储存媒体,更具有用以定期地执行以下动作之一者之电脑可执行指令:更新该NVM快取记忆体中的资料;及使储存在该NVM快取记忆体中的资料传送到该远端储存容量,用以复制该资料于该远端储存容量中。 ;50.如申请专利范围第47项所述之电脑可读取储存媒体,其中该远端储存容量包括一非挥发性记忆体(NVM)之快取记忆体,该电脑可读取储存媒体更具有用以执行以下动作之电脑可执行指令:使该静态组态资料和该动态组态资料储存在该非挥发性记忆体(NVM)之快取记忆体中,该静态组态资料和该动态组态资料具有一初始化时间,该初始化时间是大致等于该远端储存容量中一磁碟机的一起转时间;在该电脑的一开机期间和该电脑从休眠中的一恢复期间二者至少一者,当该磁碟机正在起转时,初始化储存在该非挥发性记忆体(NVM)之快取记忆体中的该静态组态资料和该动态组态资料;及在该电脑的该开机期间和该电脑从休眠中的该恢复期间二者至少一者,初始化储存在该磁碟机上其余的静态组态资料和动态组态资料。;所附的申请专利范围揭露了本发明的特色,因此本发明以及它的目的和优势可依据以下的详细描述与相应的附图来更加理解,所附图式说明如下:第1图为本发明所依据之一般性的一示范电脑系统之方块图;第2图为说明本发明中使用一硬体卡的一实施例之方块图;第3图为说明在一主机板中实作本发明的另一实施例之方块图;第4图为说明在北桥/南桥的架构中实作本发明的NVM快取记忆体之方块图;第5图为说明在一加速中枢架构中实作本发明的NVM快取记忆体之方块图;第6图为说明根据本发明的一网路堆叠之方块图;第7图为说明在电源关闭或进入一休眠模式的期间,为了安然渡过网路停摆及电源关闭而没有丧失资料,根据本发明的教导用于储存静态和动态组态资料之处理过程的一第一部分之流程图;第8图为说明用于储存静态和动态组态资料之处理过程的一其余的部分之流程图;及第9图为说明在一网路停摆、一电脑开机、及从一休眠恢复操作之后进行作业之一处理过程的流程图。
地址 MICROSOFT CORPORATION 美国