存储器控制装置及其控制方法、主计算机、信息处理系统的制作方法

文档序号:6622879阅读:425来源:国知局
存储器控制装置及其控制方法、主计算机、信息处理系统的制作方法
【专利摘要】本发明涉及存储器控制装置及其控制方法、主计算机、信息处理系统。存储器控制装置包括:地址转换信息保持部分,保持选自包含将逻辑地址与存储器装置的物理地址相关联的多个条目的地址转换信息的部分条目;地址转换信息获取单元,当包含由主计算机指定的逻辑地址的条目未被保持在所述地址转换信息保持部分中时,地址转换信息获取单元从主计算机获取未被保持的条目并使地址转换信息保持部分保持所述条目;地址转换单元,基于被保持在地址转换信息保持部分中的条目将指定的逻辑地址转换为物理地址;以及数据传送单元,执行其中传送数据使用所转换的物理地址来传送的数据传送过程。
【专利说明】存储器控制装置及其控制方法、主计算机、信息处理系统
[0001]相关申请的交叉引用
[0002]本申请要求于2013年8月14日提交的日本在先专利申请JP2013-168419的权益,将其全部内容通过引用结合于此。

【技术领域】
[0003]本发明涉及存储器控制装置、主计算机、信息处理系统以及控制存储器控制装置的方法。更具体地,本发明涉及其中的每一个都能够执行地址转换的存储器控制装置、主计算机、信息处理系统和控制存储器控制装置的方法。

【背景技术】
[0004]在现有技术中,在存储器装置的管理中,执行地址转换以将逻辑地址转换为存储器装置的物理地址。这是因为地址转换允许灵活程序的设计和非易失性存储器的硬件评级(ware leveling)。在地址转换中,通常,使用包含将逻辑地址与物理地址相关联的多个条目的地址转换信息。地址转换信息的数据大小对应于存储器装置的存储容量的增加而增力口。因此,在其中地址转换装置(诸如存储器控制器)保持地址转换信息的所有条目的配置中,存在将会用尽地址转换装置的资源的余量(margin)的问题以及地址转换装置的成本将由于资源的增加的供应而增加的问题。
[0005]因此,提出了其中执行地址转换的存储器控制器保持地址转换信息的条目的一部分的存储器系统(例如,参见日本待审专利申请公开N0.2001-142774和日本待审专利申请公开N0.2007-280329)。在存储器系统中,地址转换信息中的所有条目与用户数据一起存储在非易失性存储器中,并且存储器控制器读出一部分条目。存储器控制器将读取的条目保持在存储器控制器本身的随机访问存储器(RAM)中。如果存储器控制器在RAM中保持包含由主计算机指定的逻辑地址的条目,则存储器控制器基于条目执行地址转换。同时,如果存储器控制器未保持包含所指定的逻辑地址的条目,则存储器控制器从非易失性存储器中读取条目并执行地址转换。一旦逻辑地址被转换为非易失性存储器的物理地址,则存储器控制器访问物理地址并在其本身与非易失性存储器之间传送用户数据。


【发明内容】

[0006]然而,在上述现有技术的技术中,存在数据的传送速率将会降低的问题。在上述存储器系统中,存储器控制器可能不能从非易失性存储器中读取地址转换信息并且不能同时传送用户数据。这是因为地址转换信息和用户数据都经由存储器控制器与非易失性存储器之间的接口(数据线等)来传送。因此,当读取地址转换信息时,存在用户数据的传送被延迟了读取地址转换信息所花费的延迟时间的量的问题。
[0007]期望增加在信息处理系统中的数据的传送速度。
[0008]根据本公开的实施方式,提供了存储器控制装置和控制存储器控制装置的方法。存储器控制装置包括地址转换信息保持单元、地址转换信息获取单元、地址转换单元和数据传送单元。地址转换信息保持单元保持选自地址转换信息的一部分条目,地址转换信息包含将逻辑地址与存储器装置的物理地址关联的多个条目。当在地址转换信息中未保持包含由主计算机指定的逻辑地址的条目时,地址转换信息获取单元从主计算机获取未被保持的条目并使地址转换信息保持单元保持该条目。地址转换单元基于保持在地址转换信息保持单元中的条目将指定的逻辑地址转换为物理地址。数据传送单元执行其中传送数据使用所转换的物理地址来传送的数据传送过程。因此,实现了从主计算机获取未被保持在地址转换信息保持单元中的条目并且传送数据被传送的效果。
[0009]存储器控制装置可进一步包括访问频率保持单元,对于每个条目,访问频率保持单元保持与对应于条目的逻辑地址相关的访问频率。数据传送单元可进一步执行初始化处理,初始化处理包括选择部分条目、优先访问频率高的条目以及使地址转换信息保持单元保持所选择的条目的过程。因此,实现了选自部分条目、优选访问频率高的条目的效果。
[0010]数据传送单元可执行初始化处理,初始化处理进一步包括从存储器装置中获取所有条目并将条目传送至主计算机的处理。因此,实现了来自存储器装置的所有条目被传送到主计算机的效果。
[0011]由主计算机指定的地址可以是物理地址或逻辑地址。当由主计算机指定的地址是逻辑地址时,地址转换单元可基于条目将被指定的逻辑地址转换为物理地址。数据传送单元可使用由主计算机指定的物理地址或转换的物理地址来传送所述传送数据。因此,实现了使用由主计算机指定的物理地址或转换的物理地址来执行传送的效果。
[0012]由主计算机指定的地址可以是逻辑地址和物理地址或逻辑地址。当由主计算机指定的地址是逻辑地址和物理地址时,地址转换单元可基于指定的物理地址更新对应于指定的逻辑地址的条目。因此,实现了以下效果:当指定的地址是逻辑地址和物理地址时,基于指定的物理地址更新对应于所指定的逻辑地址的条目。
[0013]主计算机可为存储器控制单元提供指定物理地址或逻辑地址的命令以及指示逻辑地址和被新分配给逻辑地址的物理地址的通知。当通知被提供给地址转换单元时,地址转换单元可基于由通知所指示的物理地址更新对应于由通知所指示的逻辑地址的条目。因此,实现了以下效果:当提供指示逻辑地址和新分配到逻辑地址的物理地址的通知时,基于由通知所指示的物理地址更新对应于由通知所指定的逻辑地址的条目。
[0014]根据本发明另一个实施方式,提供了一种主计算机,其包括保持单元、地址转换单元和命令单元。保持单元保持包含将逻辑地址与存储器装置的物理地址关联的多个条目的地址转换信息。当在存储器装置与主计算机之间传送的传送数据的数据大小小于预定大小时,地址转换单元基于被保持的条目将逻辑地址转换为物理地址。命令单元指定逻辑地址或所转换的物理地址并指示存储器控制装置传送所述传送数据。因此,实现了传送指示逻辑地址或所转换的物理地址的传送数据的效果。
[0015]主计算机可进一步包括地址转换信息管理单元,地址转换信息管理单元为存储器控制装置提供指示逻辑地址和被新分配到逻辑地址的物理地址的通知。保持单元可进一步将未被分配逻辑地址的物理地址作为空闲物理地址来保持。当物理地址未与逻辑地址相关联时,地址转换单元可将空闲物理地址重新分配给逻辑地址。因此,实现了以下效果:当物理地址未与逻辑地址相关联时,空闲物理地址被重新分配给逻辑地址,并且为存储器控制装置提供指示逻辑地址和被新分配到逻辑地址的物理地址的通知。
[0016]当在存储器装置与主计算机之间传送的传送数据的数据大小小于预定大小并且物理地址未与逻辑地址相关联时,地址转换单元可基于被保持的条目将逻辑地址转换为物理地址。因此,实现了以下效果:当传送数据的数据大小小于预定大小并且物理地址未与逻辑地址相关联时,逻辑地址被转换为物理地址。
[0017]根据本发明的又一实施方式,提供了一种信息处理系统,其包括主计算机、地址转换信息保持单元、地址转换信息获取单元、地址转换单元和数据传送单元。主计算机保持包含将逻辑地址与存储器装置的物理地址关联的多个条目的地址转换信息。地址转换信息保持单元保持选自地址转换信息的一部分条目。当包含由主计算机指定的逻辑地址的条目未被保持在地址转换信息保持单元中时,地址转换信息获取单元从主计算机获取未被保持的条目并使地址转换信息保持单元保持所述条目。地址转换单元基于保持在地址转换信息保持单元中的条目将指定的逻辑地址转换为物理地址。数据传送单元执行其中传送数据使用所转换的物理地址来传送的数据传送过程。因此,实现了从主计算机中获取未保持在地址转换信息保持单元中的条目并传送所述传送数据的效果。
[0018]根据本公开,可获得以下优异效果:提高了信息处理系统中的数据的传送速率。

【专利附图】

【附图说明】
[0019]图1是示出第一实施方式中的信息处理系统的实例的整体视图;
[0020]图2是示出第一实施方式中的主计算机的配置实例的框图;
[0021]图3是示出第一实施方式中的主计算机的功能配置实例的框图;
[0022]图4A和图4B是示出第一实施方式中的传送命令的数据配置的实例的示图;
[0023]图5是示出第一实施方式中的地址转换信息的实例的示图;
[0024]图6是示出第一实施方式中的存储器控制器的配置实例的框图;
[0025]图7是示出第一实施方式中的存储器控制器的功能配置实例的框图;
[0026]图8A和图SB是示出第一实施方式中的传送请求的数据配置的实例的示图;
[0027]图9A和图9B是示出第一实施方式中的被保持在地址转换信息保持区和地址转换信息管理表保持区中的数据的实例的示图;
[0028]图10是示出第一实施方式中的被保持在访问频率信息保持区中的数据的实例的示图;
[0029]图11是示出第一实施方式中的被保持在空闲物理地址信息保持区中的数据的实例的示图;
[0030]图12是示出第一实施方式中的非易失性存储器的配置实例的框图;
[0031]图13是示出第一实施方式中的存储器单元阵列的使用状态的实例的示图;
[0032]图14是示出第一实施方式中的被保持在管理信息区中的数据的实例的示图;
[0033]图15是示出第一实施方式中的物理页的数据配置的实例的示图;
[0034]图16是示出第一实施方式中的主机端处理的实例的流程图;
[0035]图17是示出第一实施方式中的主机端初始化处理的实例的流程图;
[0036]图18是示出第一实施方式中的控制器端处理的实例的流程图;
[0037]图19是示出第一实施方式中的控制器端初始化处理的实例的流程图;
[0038]图20是示出第一实施方式中的读取控制处理的实例的流程图;
[0039]图21是示出第一实施方式中的数据传送处理的实例的流程图;
[0040]图22是示出第一实施方式中的写入控制处理的实例的流程图;
[0041]图23是示出第一实施方式中的空闲物理地址分配处理的实例的流程图;
[0042]图24是示出第一实施方式中的初始化过程中的的信息处理系统的操作的序列图的实例;
[0043]图25是示出第一实施方式中的用户数据的读取过程中的信息处理系统的操作的序列图的实例;
[0044]图26A和图26B是示出第一实施方式中的读取过程中的存储器控制器的操作的时序图的实例;
[0045]图27是示出第二实施方式中的主计算机的功能配置实例的框图;
[0046]图28A和图28B是示出第二实施方式中的传送命令的数据配置的实例的示图;
[0047]图29是示出第二实施方式中的主机端处理的实例的流程图;
[0048]图30是示出第二实施方式中的主机端初始化处理的实例的流程图;
[0049]图31是示出第二实施方式中的控制器端初始化处理的实例的流程图;
[0050]图32是示出第二实施方式中的读取控制处理的实例的流程图;
[0051]图33是示出第二实施方式中的写入控制处理的实例的流程图;
[0052]图34是示出第二实施方式中的在初始化过程中的信息处理系统的操作的序列图的实例;以及
[0053]图35是示出第二实施方式中的在读取过程中的信息处理系统的操作的序列图的实例。

【具体实施方式】
[0054]下文中,将给出用于实现本公开的实施方式(在下文中简称为“实施方式”)的描述。将按照以下顺序给出描述。
[0055]1.第一实施方式(其中从主计算机获取地址转换信息页的实例)
[0056]2.第二实施方式(其中在被传送的页面的数量很少时主计算机执行地址转换的实例)
[0057]1.第一实施方式
[0058]存储器系统的配置实例
[0059]图1是示出第一实施方式中的信息处理系统的配置实例的整体视图。信息处理系统设置有主计算机100、存储器控制器200和非易失性存储器300。
[0060]主计算机100控制整个信息处理系统。主计算机100产生指定逻辑地址的传送命令和传送数据,并将传送命令和传送数据经由信号线109供应到存储器控制器200。主机计算机100经由信号线109从存储器控制器200接收数据或状态。数据包括传送数据和管理信息。
[0061]在此,逻辑地址是由包括存储器控制器200和非易失性存储器300的储存器所限定的地址空间中的地址。当逻辑地址空间的访问单元是页面时,每个页面的逻辑地址被称为逻辑页面地址。
[0062]传送数据例如是由主计算机100中的程序等处理的用户数据。管理信息将在后面详细描述。传送命令是用于执行数据的传送的命令。例如,传送命令包括指示数据的写入的写命令和指示数据的读取的读命令。状态是提供传送命令的执行结果和存储器控制器200等的状态的通知的信息。
[0063]存储器控制器200控制非易失性存储器300。在电源接通时等,当由主计算机100指示时存储器控制器200执行初始化处理。在初始化处理中,存储器控制器200经由信号线209从非易失性存储器300中获取地址转换信息,并将地址转换信息传送至主计算机100。在此,地址转换信息是用于将逻辑地址转换为非易失性存储器300的物理地址的信息。具体地,地址转换信息是包含其中物理地址与逻辑地址相关联的多个条目的信息。当非易失性存储器300的访问单元是页面时,每个页面的物理地址被称为物理页面地址。
[0064]在初始化处理中,存储器控制器200选择并保持来自地址转换信息的部分条目。不是所有的条目都被保持的原因在于,如上所述,存在将会用尽存储器控制器200的资源的余量并且存储器控制器的成本200将会增加的问题。
[0065]在初始化处理之后,一旦存储器控制器200从主机计算机100接收到传送命令,存储器控制器200给予所保持的条目将由传送命令所指定的逻辑地址转换为物理地址。当存储器控制器200未保持包含所指定的逻辑地址的条目时,存储器控制器200从主计算机100获取条目。其中执行从逻辑地址到物理地址的转换的处理被称为地址转换。由于地址转换,可以执行以下替换(substitut1n)处理:将其中在非易失性存储器中已经出现写入错误的物理页面排除在被写入之外,以执行其中每个存储器单元的写入频率被平均的硬件评级处理等。
[0066]一旦执行地址转换,存储器控制器200使用所转换的物理地址经由信号线109和信号线209在主计算机100与非易失性存储器300之间传送所述传送数据。
[0067]如上所述,当采用其中存储器控制器200经由信号线109从主计算机100获取地址转换信息的条目的配置时,存储器控制器200可在传送数据的传送过程中传送地址转换信息。这是因为,当存储器控制器200经由信号线209在其本身与非易失性存储器300之间传送所述传送数据时,可以经由信号线109在存储器控制器200与主计算机100之间传送地址转换信息。以这种方式,由于存储器控制器200可并行地传送地址转换信息和传送数据,因此可以抑制传送数据的传送中的延迟。
[0068]需注意,存储器控制器200是根据本公开的实施方式的存储器控制装置的实例。
[0069]非易失性存储器300根据存储控制器200的控制存储数据。非易失性存储器300存储管理信息和传送数据(用户数据)。管理信息包括地址转换信息、访问频率信息和空闲物理地址信息。在此,访问频率信息是为地址转换信息中的每个条目指示访问对应于该条目的逻辑地址的频率的信息。空闲物理地址信息是指示未与逻辑地址相关联的物理页面地址的信息。未与逻辑地址相关联的物理地址被视为空闲物理地址。非易失性存储器300根据存储器控制器200的控制经由信号线209将管理信息提供至存储器控制器200。非易失性存储器300根据存储器控制器200的控制传送所述传送数据。
[0070]信息处理系统使非易失性存储器300存储数据;然而,本公开并不限于该配置。在存储数据的存储器装置的情况下,也可使除了非易失性存储器300之外的装置(例如HDD:硬盘驱动器)存储数据。非易失性存储器300是根据本公开的实施方式的存储器装置的实例。
[0071]信息处理系统设置有存储器控制器200,作为控制存储器装置的存储器控制装置;然而,当使用除了非易失性存储器之外的存储装置时,可提供除了控制器存储器之外的存储器控制装置(诸如HDD控制器)。存储器控制器200被配置为控制一个非易失性存储器300 ;然而,也可采用其中控制多个非易失性存储器300的配置。
[0072]主计算机的配置实例
[0073]图2是示出第一实施方式中的主计算机100的配置实例的框图。主计算机100设置有中央处理单元(CPU) 120、RAM130、只读存储器(ROM) 111、总线112、存储器单元113和控制器接口 116。存储器单元113存储应用程序114、装置驱动器115等。
[0074]CPU120控制整个主计算机100。RAMl30临时地保持在由CPU120执行的处理中所需要的数据。ROMlll存储由CPU120执行的程序等。总线112是用于CPU120、RAMl30,ROMl 11、存储器单元113和控制器接口 116的共同路径,以在彼此之间交换数据。控制器接口 116是用于主机计算机100和存储控制器200的接口,以在彼此之间交换数据和命令。
[0075]图3是示出第一实施方式中的主计算机100的功能配置实例的框图。主计算机100设置有初始化处理单元121、传送命令发出单元122、数据传送处理单元123、RAM130和地址转换信息管理单元124。RAMl30设置有地址转换信息保持区131。需注意,RAMl30是根据本公开的实施方式的保持单元的实例。
[0076]图3中的初始化处理单元121的功能例如由图2中的CPU120、装置驱动器115、控制器接口 116等来实现。图3中的传送命令发出单元122和数据传送处理单元123的功能例如由图2中的CPU120、应用程序114、装置驱动器115、控制器接口 116等来实现。图3中的地址转换信息管理单元124的功能也例如由图2中的CPU120、应用程序114、装置驱动器115、控制器接口 116等来实现。
[0077]当信息处理系统的被接通电源等时,初始化处理单元121执行预定的初始化处理。在初始化处理中,初始化处理单元121发出用于读取地址转换信息的初始化命令,并从存储器控制器200中接收地址转换信息和状态。初始化处理单元121使RAM130中的地址转换信息保持区131保持所获取的地址转换信息。在初始化命令中,数据的传送目的地可被设置为主计算机100或存储器控制器200。用于读取地址转换信息的初始化命令的传送目的地被设置为主计算机100。
[0078]初始化处理单元121单独地发出用于读取访问频率信息的初始化命令、用于读取空闲物理地址信息的初始化命令和用于读取地址转换信息的部分条目的初始化命令。然而,在上述初始化命令中,传送目的地被设置为主计算机100的存储器控制器200和存储器控制器200。存储器控制器200根据初始化命令从非易失性存储器300读取并保持访问频率信息、空闲物理地址信息和地址转换信息的一部分。一旦初始化处理完成,初始化处理单元121向传送命令发出单元122通知初始化的完成。
[0079]在此,初始化命令进一步包括读取开始页面地址、传送页数和传送目的地地址。读取开始页面地址是开始读数据的读取的页面地址。传送目的地地址是读数据的传送目的地的地址,并被设置为主计算机100的RAM或存储器控制器200的地址。
[0080]传送命令发出单元122发出传送命令。传送命令包括读命令和写命令。读命令包括读取开始页面地址、传送页数和传送目的地地址。读取开始页面地址是开始读数据的读取的页面地址。传送目的地地址是读数据的传送目的地的地址,并被设置为主计算机100的RAM中的地址。
[0081]写命令包括传送源地址、写开始页面地址和传送页数。传送源地址是在写数据的传送源的地址,并被设置为主计算机100的RAM中的地址。写开始页面地址是开始写数据的写入的逻辑页面地址。
[0082]在此,传送命令在由包括存储器控制器200的储存器限定的预定逻辑页面地址空间中指定地址。例如,507,904( = 0x7c000)个页面被定义为逻辑页面地址空间。逻辑页面地址空间中的逻辑页面地址例如是从0x00000到0x07bfff。在此,前缀为“Ox”的数值表示为16进制。在下文中,前缀为“Ox”的数值表示为16进制,并且没有前缀“Ox”的那些表示为10进制。
[0083]同时,在非易失性存储器300中,用户数据的存储容量例如是2千兆(=2,147,483,648)字节,并且不包括冗余数据的物理页面的大小是4096字节。在这种情况下,非易失性存储器300的物理页数是524,288 ( = 2,147,483,648/4096)页,并且物理页面地址例如是从0x00000到0x07ffff。根据以下所示的等式,物理页数(524,288)相对于逻辑页数(507,904)具有约3%的余量。524,288/507, 904 = 1.03...等式I。逻辑页数以这种方式设置,使得当由于写入错误等导致非易失性存储器300中的物理页面不可用时,确保空闲物理页面,从而可以改为分配逻辑页面。这也是为了实现其中非易失性存储器300中的每个存储器装置被重新写入的次数被平均的硬件评级。
[0084]在其中连接2千兆字节存储容量的非易失性存储器300的配置的前提下设置上述逻辑页面面地址空间的大小;然而,该大小取决于存储容量或所连接的非易失性存储器300的数量。例如,当存储容量或非易失性存储器300的数量加倍时,逻辑页面地址空间的大小被设置为双倍。
[0085]数据传送处理单元123在其自身与存储器控制器200之间传送数据。当传送命令是写命令时,数据传送处理单元123产生要写入的用户数据并将用户数据与写命令一起提供给存储器控制器200。随后,数据传送处理单元123从存储器控制器200接收状态。同时,当传送命令是读命令时,数据传送处理单元123将读命令提供给存储器控制器200,并接收从存储器控制器200读取的用户数据和状态。
[0086]需注意,术语“页面”用于逻辑地址空间和物理地址空间的访问单元;然而,用于访问单元的术语并不限于页面。例如,术语可以是扇区或块。关于逻辑地址空间和物理地址空间的每一个,访问单元的名称和数据大小是相同的;然而,也可采用其中逻辑地址空间和物理地址空间的访问单元的名称、数据大小等不同的配置。
[0087]需注意,数据传送处理单元123是根据本公开的实施方式的命令单元的实例。
[0088]地址转换信息被保持在地址转换信息保持区131中。地址转换信息包括将逻辑页面地址与物理页面地址相关联的多个条目。然而,有效的物理页面地址不分配给未写入用户数据的逻辑页面地址。换言之,分配无效的物理页面地址。
[0089]如上所述,由于逻辑页数是507,904,因此在地址转换信息中的条目的数量是507,904.在此,可以将地址转换信息中的1,024个条目存储在一个页面(其为访问单元)中。因此,地址转换信息通过被分成496 ( = 507904/1024)页的地址转换信息页面来管理,其中每页由1,024个条目形成。
[0090]地址转换信息管理单元124管理地址转换的信息。具体地,当地址转换信息管理单元124从存储器控制器200接收请求地址转换信息页面的页面获取请求时,地址转换信息管理单元124从RAM130读取请求的地址转换信息页面。地址转换信息管理单元124将被读取的地址转换信息页面提供给存储器控制器200。当地址转换信息管理单元124从存储器控制器200接收地址转换信息页面时,地址转换信息管理单元124使用所接收的地址转换信息页面更新在RAM130中具有相同页码(page number)的地址转换信息页面。
[0091]需注意,地址转换信息管理单元124响应于来自存储器控制器200的页面获取请求读取所请求的地址转换信息页面;然而,本公开并不限于该配置。例如,存储器控制器200可通过直接访问主计算机100中的地址转换信息保持区131读取所需要的地址转换信息页面。
[0092]传送命令的数据配置实例
[0093]图4A和图4B是示出第一实施方式中的传送命令的数据配置的实例的示图。图4A是示出读命令的数据配置的实例的示图。如图4A所示,读命令包括读取开始页面地址、传送页数和传送目的地地址。读取开始页面地址是开始读取数据的页面的地址,并且在读取用户数据的情况下被设置为逻辑页面地址。传送页数被设置为根据读命令要连续读取的读数据的页面的数量。传送目的地地址被设置为主计算机100的RAM的地址(逻辑地址或物理地址)。需注意,用于读取管理信息的初始化命令进一步包括传送目的地类型。传送目的地类型被设置为主计算机100或存储控制器200。初始化命令的传送目的地地址被设置为主计算机100的RAM或存储器控制器200的地址(逻辑地址或物理地址)。初始化命令的读取开始页面地址被设置为物理页面地址。这是因为当读取管理信息时不执行地址转换。
[0094]图4B是示出写命令的数据配置的实例的示图。如图4B所示,写命令包括传送源地址、写入开始页面地址和传送页数。传送源地址被设置为主计算机100的RAM的地址,写入开始页面地址是开始写入数据的逻辑页面地址,并且在写入用户数据的情况下被设置为逻辑页面地址。
[0095]地址转换信息的数据配置实例
[0096]图5是示出第一实施方式中的地址转换信息的实例的示图。地址转换信息包括496个地址转换信息页面。每个地址转换信息页面包括1,024个条目。每个条目都包括逻辑页面地址、分配状态和物理页面地址。
[0097]分配状态指示物理页面地址是否被分配给逻辑页面地址。未被写入用户数据的逻辑页面地址与无效的物理页面地址相关联,并且分配状态被设置为“未分配”。被写入用户数据的逻辑页面地址与有效的物理页面地址相关联,并且分配状态被设置为“已分配”。当被写入“已分配”逻辑页面地址的数据通过擦除命令等擦除时,分配状态更新为“未分配”,并且相应的物理页面地址变为无效的。
[0098]分配状态的数据大小例如是I个字节,物理页面地址的数据大小例如是3个字节,并且由其形成的每个条目的数据大小是4个字节。因此,由1,024个条目形成的每个地址转换信息页面的数据大小是4,096(= 1024X4)个字节。因此,由都是496个页面形成的所有地址转换信息的数据大小是2,031,616( = 496x4096)个字节。
[0099]存储器控制器的配置实例
[0100]图6是示出第一实施方式中的存储器控制器200的配置实例的框图。存储器控制器200设置有CPU220、RAM230、R0M211、总线212、主机接口 213、ECC处理单元214和存储器接口 215。
[0101]CPU220控制整个存储器控制器200。RAM230临时地保持在由CPU220执行的处理中所必需的数据。R0M211存储由CPU220执行的程序等。总线212是用于CPU220、RAM230、R0M211、主机接口 213、ECC处理单元214和存储器接口 215的共同路径以彼此之间交换数据。主机接口 213是用于存储器控制器200和主计算机100的接口以彼此之间交换数据和命令。
[0102]ECC处理单元214将写入数据编码成错误检查和纠正码(ECC),并在读数据中执行错误的检查和纠正。在ECC处理单兀214中,Bose-Chaudhur1-Hocquenghem(BCH)码或Reed-Solomon(RS)码用于ECC。存储器接口 215是用于存储器控制器200和非易失性存储器300的接口以在彼此之间交换数据。
[0103]图7是示出第一实施方式中的存储器控制器200的功能配置实例的框图。存储器控制器200设置有地址转换信息获取单元222、地址转换单元223、数据传送单元224和RAM230。RAM230设置有地址转换信息保持区231、地址转换信息管理表保持区232、访问频率信息保持区233和空闲物理地址信息保持区域234。需注意,RAM230是根据本公开的实施方式的地址转换信息保持单元和访问频率保持单元的实例。
[0104]图7中的地址转换信息获取单元222的功能例如通过图6中的CPU220和主机接口 213来实现。图7中的地址转换单元223的功能例如通过图6中的CPU220等实现。图7中的数据传送单元224的功能例如通过图6中的CPU220、主机接口 213、ECC处理单元214、存储器接口 215等来实现。
[0105]数据传送单元224根据主计算机100的控制实现预定初始化处理和传送用户数据数据传送处理。在初始化处理中,当数据传送单元224从主计算机100接收用于读取地址转换信息的所有条目的初始化命令,数据传送单元224从初始化命令产生读请求。
[0106]从初始化命令产生的读请求包括例如指示传送源页面地址、传送目的地类型和传送目的地地址的信息。传送源页面地址是读取读数据的页面地址,并被设置为非易失性存储器300的物理页面地址。传送目的地类型指示传送目的地是主机计算机100还是存储器控制器200。传送目的地地址是读数据的传送目的地的地址,并被设置为主计算机100或存储器控制器200的地址。
[0107]数据传送单元224根据存储器读命令从非易失性存储器300读取所有条目,并将条目传送到主计算机100。
[0108]当数据传送单元224从主计算机100接收用于读取访问频率信息的初始化命令时,数据传送单元224使用存储器读命令从非易失性存储器300读取访问频率信息。数据传送单元224使访问频率信息保持区域233保持所读取的访问频率信息。访问频率信息包括为每个地址转换信息页面指示在页面中访问逻辑页面地址的次数的信息。数据传送单元224读取所保持的每个地址转换信息页面的访问次数,执行将该值乘以预定系数(例如
0.5)的加权,并将该值写回。
[0109]在初始化处理之后,访问次数在每次访问相应地址转换信息页面中的其中一个逻辑页面地址时增加。在当至存储器控制器200的电源被停止等时完成所执行的处理中,存储器控制器200中的更新的访问频率信息被写回到非易失性存储器300中。
[0110]通过上述利用预定系数在上一次的完成处理中对访问次数进行加权,计数周期越长,可以利用更小的系数(即,权重)进行加权。例如,当在第一次完成处理之后执行第二次初始化处理时,第一次完成处理的访问次数Fl利用0.5的系数来进行加权。当在第二次完成处理之后执行第三次初始化处理时,第二次完成处理的访问次数F2利用0.5的系数来加权。由于F2包括第一次Fl X0.5的值,因此其中F2乘以0.5的访问次数包括Fl X0.25的值。类似地,其中第三次完成处理的访问次数F3乘以0.5的访问次数包括F2X0.25的值,并且F2X0.25的值包括F1X0.125的值。以这种方式,计数周期越长,相对于访问次数的系数变得越小。
[0111]需注意,数据传送单元224相对于之前的完成处理的访问次数执行加权;然而,也可采用不执行加权的配置。在这种情况下,之前的完成处理的访问次数被原样地保持在访问频率信息保持区233中。
[0112]当数据传送单元224从主计算机100接收用于读取空闲物理地址信息的初始化命令时,数据传送单元224使用存储器读命令从非易失性存储器300读取空闲物理地址信息。数据传送单元224使空闲物理地址信息保持区234保持所读取的空闲物理地址信息。
[0113]当数据传送单元224接收用于读取部分地址转换信息的初始化命令时,数据传送单元224从非易失性存储器300读取32个地址转换信息页面,给予具有高访问频率的地址转换信息页面优先权。
[0114]需注意,采用其中数据传送单元224从非易失性存储器300读取部分地址转换信息的配置;然而,本发明并不限于该配置。数据传送单元224可从主计算机100获取部分地址转换信息。
[0115]要读取的页面的数量足够小于地址转换信息的总的页面数量(496),但数量并不限于32个页面。采用通过给予具有高访问频率的页面优先权来读取一部分的配置;但是本发明并不限于该配置。例如,存储器控制器200可按照页码的升序来读取32个页面。
[0116]数据传送单元224使地址转换信息保持区231保持所读取的地址转换信息页面。数据传送单元224产生地址转换信息管理表并使地址转换信息管理表保持区232保持该表。将在后面描述地址转换信息管理表的配置。
[0117]在数据传送处理中,数据传送单元224根据传送命令产生传送请求。例如,传送请求被分成等于传送页数的多个传送请求。传送请求包括读请求和写请求。读请求包括指示传送源页面地址和传送目的地地址的信息,并且写请求包括指示传送源地址和传送目的地页面地址的信息。
[0118]当发出写请求时,数据传送单元224将存储器写命令按顺序提供给非易失性存储器300,数据传送单元224将来自主计算机100的写数据编码为ECC并将ECC传送到非易失性存储器300。同时,当发出读请求时,数据传送单元224将存储器读命令按顺序提供给非易失性存储器300,并从非易失性存储器300接收读数据。数据传送单元224在读数据中执行错误的检查和纠正,并将纠正的读数据传送到主计算机100。数据传送单元224产生状态并将该状态提供到主计算机100。需注意,状态的符号在图7中省略。
[0119]当对应于由传送命令指定的逻辑页面地址的条目未保持在RAM230中时,地址转换信息获取单元222从主计算机100获取条目。具体地,当地址转换信息获取单元222从主计算机100接收传送命令时,地址转换信息获取单元222获取包含在传送命令中指定的逻辑页面地址的地址转换信息页面的页码。由于地址转换信息页面由1,024个条目形成,因此可通过将指定的逻辑页面地址除以0x00400 (= 1024)来获得商。该商指示对应的地址转换信息页面的页码。
[0120]例如,将考虑其中地址转换信息页面是“O”到“495”并且指定的逻辑页面地址是0x013ff的情况。通过0x013ff除以0x00400获得的商是0x00004。因此,包含指定的逻辑页面地址的地址转换信息页面的页码是“4”。
[0121]地址转换信息获取单元222确定所计算的页码的地址转换信息页面是否被保持在RAM230中。当地址转换信息页面未保持在RAM230中时,地址转换信息获取单元222发出请求未被保持的地址转换信息页面的页面获取请求,并将该请求提供给主计算机100。页面请求例如包括所请求的地址转换信息页面的页码。当从主计算机100接收到所请求的地址转换信息页面时,地址转换信息获取单元222在RAM230中查找访问频率信息和地址转换信息。地址转换信息获取单元222利用从从主计算机100接收的地址转换信息页面更换保持在RAM230中的具有最低地址转换信息页面的访问频率的地址转换信息页面。由于地址转换信息页面的更换,地址转换信息获取单元222更新地址转换信息管理表。将在后面在图9A和图9B中详细描述更新内容。
[0122]当所计算的页码的地址转换信息页面保持在RAM230中时,或者当接收到地址转换信息页面时,地址转换信息获取单元222通知地址转换单元223对应的条目被保持。
[0123]地址转换单元223基于RAM230中保持的条目将由传送命令指定逻辑页面地址转换为物理页面地址。当通知地址转换单元223与在传送指令中所指定的逻辑页面地址对应的条目被保持时,地址转换单元223获得与所指定的逻辑页面地址对应的条目的位置。由于地址转换信息页面由1,024个条目形成,因此可通过将所指定的逻辑页面地址除以0x00400 ( = 1,024)获得余数。该余数指示对应条目在地址转换信息页面中的位置。
[0124]例如,将考虑指定的逻辑页面地址是0x013ff的情况。当0x013ff除以0x00400时,商是0x00004,并且余数是0x003ff。因此,在页码为“4”的地址转换信息页面中的第
I,023 ( = 0x003ff)个条目对应于所指定的逻辑页面地址。地址转换单元223从RAM230读取条目并查找其分配状态。.
[0125]关于被查找的条目,当物理页面地址未被分配时,地址转换单元223查找空闲物理地址信息、选择空闲物理页面地址中的一个,并更新空闲物理地址信息。地址转换单元223使用所选择的物理页面地址更新所查找的条目的物理页面地址,并将对应于物理页面地址的分配状态更新为“已分配”。
[0126]地址转换单元223将所更新的地址转换信息页面提供给主计算机100。地址转换单元223基于所更新的地址转换信息页面将所指定的逻辑页面地址转换为相应的物理页面地址,并将具有转换地址的传送命令提供给数据传送单元224。
[0127]同时,关于被查找的条目,当物理页面地址被分配时,地址转换单元223将指定的逻辑页面地址转换为对应于逻辑页面地址的物理页面地址。地址转换单元223将具有转换地址的传送命令提供给数据传送单元224。
[0128]传送请求的数据配置实例
[0129]图8A和图SB是示出第一实施方式中的传送请求的数据配置的实例的示图。图8A是示出读请求的数据配置的实例的示图。如图8A所示,读请求包括传送源页面地址和传送目的地地址。传送源页面地址被设置为非易失性存储器300的物理页面地址。传送目标地址被设置为主计算机100的RAM中的地址。需注意,在读取管理信息时所使用的读请求进一步包括传送目的地类型。传送目的地类型被设置为主计算机100或存储器控制器200。传送目的地地址被设置为主计算机100的RAM或存储器控制器200的地址。
[0130]图SB是示出写请求的数据配置的实例的示图。如图SB所示,写请求包括传送源地址和传送目的地页面地址。传送源地址被设置为主计算机100的RAM中的地址。传送目的地页面地址被设置为非易失性存储器300的物理页面地址。需注意,在写入管理信息时所使用的写请求进一步包括传送源类型。传送源类型被设置为主机计算机100或存储器控制器200。传送源地址被设置为主计算机100的RAM或存储器控制器200的地址。
[0131]图9A和图9B是示出第一实施方式中的保持在地址转换信息保持区231和地址转换信息管理表保持区232中的数据的实例的示图。图9A是示出保持在地址转换信息保持区231中的数据的实例的示图。如图9A所示,在地址转换信息保持区231中,地址转换信息页面保持在该区中的页面#0至#31的每一个中。由于每个地址转换信息页面的数据大小是4096个字节,因此131,072 ( = 4096X32)个字节的数据被保持在地址转换信息保持区231中。
[0132]图9B是示出保持在地址转换信息管理表保持区232中的数据的实例的示图。如图9B所示,地址转换信息管理表保持区232保持被保持在该区的页面#0至#31的每一个中的地址转换信息页面的页码。如图9A和图9B所示例的,存储器控制器200将来自地址转换信息保持区231的页码保持在不同的区中;然而,它们可被保持在相同的区中。在这种情况下,地址转换信息页面及其页码被保持在该区的每个页面中。当存储器控制器200利用新的页面更换地址转换信息中的地址转换信息页面时,存储器控制器200更新与在地址转换信息管理表中利用地址转换信息页面的页码更换的页面对应的区域中的页面。
[0133]图10是示出第一实施方式中的保持在访问频率信息保持区233中的数据的实例的示图。访问频率信息保持区域233保持指示地址转换信息页面的#0至#495中的每个页面的逻辑页面地址的访问频率的信息(例如,访问次数)。每个访问次数的大小例如是4个字节,并且包括496个页面的每一个的访问次数的所有访问频率信息的数据大小是1,984( = 496X4)个字节。
[0134]图11是示出第一实施方式中的保持在空闲物理地址信息保持区234中的数据的实例的示图。空闲物理地址信息保持区234保持指示0x00000到0x7fbff的每个物理页面地址的使用状态的信息。
[0135]使用状态指示“使用中”、“未使用”或“不可用”作为相应物理页面地址的状态。使用状态“使用中”指示逻辑页面地址被分配给物理页面地址,且“未使用”指示逻辑页面地址未被分配给物理页面地址。未使用的物理页面地址被视为空闲物理页面地址。使用状态“不可用”指示物理页面地址目前未被使用并且由于诸如错误的发生的原因也不建议将来使用。由于使用状态利用2个比特来表示三种状态,因此由523,264个物理页面地址的每一个的使用状态所形成的空闲物理地址信息的数据大小是130,816( = 523,264X2/8)个字节。由于访问单元(页面)的数据大小是4,096个字节,因此空闲物理地址信息通过被划分为32 ( = 30, 816/4096)个空闲物理地址信息页面来进行管理。每个空闲物理地址信息页面包括16,352 ( = 523,264/32)个使用状态。
[0136]非易失性存储器的配置实例
[0137]图12是示出第一实施方式中的非易失性存储器300的配置实例的框图。非易失性存储器300设置有页面缓冲器311、存储器单元阵列320、地址解码器312、总线313、控制接口 314和访问控制单元315。
[0138]页面缓冲器311根据访问控制单元315的控制在页面单元中保持写数据和读数据。存储器单元阵列320设置有被布置成矩阵的多个存储器单元。非易失性存储器装置用于每个存储器单元。具体地,NAND型或NOR型闪存、电阻式RAM(ReRAM)、相变RAM(PCRAM)、磁阻式RAM(MRAM)等可被用作存储器装置。地址解码器312分析由存储器传送指令所指定的地址,并选择对应于该地址的存储器单元。总线313是用于页面缓冲器311,存储器单元阵列320,地址解码器312、控制接口 314和访问控制单元315的公共路径以彼此之间交换数据。控制接口 314是用于存储器控制器200和非易失性存储器300的接口以在彼此之间交换数据、请求等。
[0139]访问控制单元315访问存储器单元阵列320并读或写数据。当访问控制单元315接收存储器写命令时,访问控制单元315使页面缓冲器311保持写数据。访问控制单元315将由存储器写命令指定的地址提供给地址解码器312。当通过地址解码器312选择存储器单元时,访问控制单元315控制驱动器(未示出),从而使驱动将数据写到存储器单元。
[0140]当访问控制单元315接收存储器读命令时,访问控制单元315将由存储器读命令指定的地址提供给地址解码器312。当通过地址解码器312选择存储器单元时,访问控制单元315控制驱动器以使驱动器读取存储在存储器单元中的数据并使页面缓冲器311保持数据。当读取数据被保持在页面缓冲器311中时,访问控制单元315控制控制接口 314将读取数据输出到存储器控制器200。
[0141]图13是示出第一实施方式中的存储器单元阵列320的使用状态的实例的示图。存储器单元阵列320设置有管理信息区域321和用户数据区325。地址转换信息、空闲物理地址信息和访问频率信息被保持在管理信息区321中。用户数据保持在用户数据区325中。可存储在存储器单元阵列320中的物理页面的数量例如是524,288页。其中,523,264页所形成的区例如用作用户数据区域325,并且由剩下的1,024页形成的区用作管理信息区 321。
[0142]在此,由于存储器控制器200被配置为执行地址转换,因此即使在用户数据区325中发生写入错误,存储器控制器200也可改为分配空闲物理页面地址。由于在管理信息区域321中也可能发生写入错误,因此优选的是存储器控制器200在管理信息的初始化命令中也执行地址转换。然而,为了便于说明,在有关管理信息区域321的初始化命令中未执行地址转换。需注意,也可采用其中存储器控制器200在管理信息的初始化命令中也执行地址转换的配置。
[0143]图14是示出在第一实施方式中的保持在管理信息区321中的数据实例的示图。管理信息区321设置有地址转换信息保持区322、访问频率信息保持区323和空闲物理地址信息保持区324。由496个地址转换信息页面形成的地址转换信息保持在地址转换信息保持区322中。地址转换信息的所有页面被传送至主计算机100并由主计算机100保持。地址转换信息页面的一部分(例如,32页)被传送至并保持在存储器控制器200中。
[0144]访问频率信息保持在访问频率信息保持区323中。空闲物理地址信息保持在空闲物理地址信息保持区324中。访问频率信息和空闲物理地址信息被传送并保持在存储器控制器200中。
[0145]物理页面的数据配置实例
[0146]图15是示出第一实施方式中的被存储在用户数据区中的物理页面的实例的示图。每个物理页面设置有数据部分和冗余部分。物理页面中的数据部分是包括被ECC编码之前的原始数据的部分。冗余部分包括在编码等中从原始数据产生的奇偶校验(parity)。数据部分的大小例如是4,096个字节,并且冗余部分的大小例如是128个字节。由数据部分和冗余部分形成的物理页面的大小例如是4,224个字节。
[0147]主计算机的操作实例
[0148]图16是示出第一实施方式中的主机端处理的实例的流程图。当例如接通至信息处理系统的电源时,由主计算机100启动主机端处理。
[0149]首先,主计算机100执行主机端初始化处理(步骤S910)。主计算机100执行应用程序114等,并在必要时发出传送命令。主计算机100确定是否发出传送指令(步骤S923)。如果未发出传送指令(步骤S923:否),则主计算机100返回到步骤S923。
[0150]当发出传送命令(步骤S923:是)时,主计算机100经由控制器接口 116将传送命令提供到存储器控制器200 (步骤S924)。如果传送命令是写命令,则写数据与传送命令一起提供。
[0151]主计算机100确定是否有来自存储器控制器200的页面获取请求(步骤S925)。当存在页面获取请求(步骤S925:是)时,主计算机100将由页面获取请求所请求的地址转换信息页面提供给存储控制器200 (步骤S926)。
[0152]当不存在页面获取请求(步骤S925:否)时,或者在步骤S926之后,主计算机100获取由存储器控制器200读取的读数据。当从存储器控制器200提供更新的地址转换信息页面时,主计算机100使用该地址转换信息页面更新所保持的地址转换信息(步骤S927)。在步骤S927之后,主计算机100返回到步骤S923。
[0153]图17是示出第一实施方式中的主机端初始化处理的实例的流程图。主计算机100发出用于读取地址转换信息的初始化命令。在初始化命令中,读取开始页面地址被设置为地址转换信息保持区322的物理页面地址,并且地址转换信息(其是读数据)的传送目的地被设置为主计算机100。主计算机100将初始化命令提供给存储器控制器200 (步骤S911)。
[0154]主计算机100保持所读取的地址转换信息页面(步骤S912)。主计算机100基于来自存储器控制器200的状态确定是否完成了所有的地址转换信息页面的读取(步骤S913)。如果所有的页面的读取没有完成(步骤S913:否),则主计算机100返回到步骤S912。
[0155]如果完成所有页面的读取(步骤S913:是),主计算机发出用于读取访问频率信息100的初始化命令。在初始化命令中,读取开始页面地址被设置为访问频率信息保持区323的物理页面地址,并且访问频率信息(其是读数据)的传送目的地被设置为存储器控制器200。主计算机100将初始化命令提供给存储器控制器200 (步骤S914)。主计算机100基于来自存储器控制器200的状态确定是否完成了访问频率信息的读取(步骤S915)。如果访问频率信息的读取没有完成(步骤S915:否),则主计算机100返回到步骤S915。
[0156]如果完成了访问频率信息的读取(步骤S915:是),则主计算机发出用于读取空闲物理地址信息100的初始化命令。在初始化命令中,读取开始页面地址被设置为空闲物理地址信息保持区324的物理页面地址,并且空闲物理地址信息(其是读数据)的传送目的地被设置为存储器控制器200。主计算机100将初始化命令提供给存储器控制器200 (步骤S919)。主计算机100基于来自存储器控制器200的状态确定是否完成空闲物理地址信息的读取(步骤S920)。如果未完成空闲物理地址信息的读取(步骤S920:否),则主计算机100返回到步骤S920。
[0157]如果完成空闲物理地址信息的读取(步骤S920:是),则主计算机100发出用于读取部分地址转换信息的初始化命令。在初始化命令中,读取开始页面地址被设置为地址转换信息保持区322的物理页面地址,并且地址转换信息(其是读数据)的传送目的地被设置为存储器控制器200。主计算机100将初始化命令提供给存储器控制器200 (步骤S921)。主计算机100基于来自存储器控制器200的状态确定是否完成部分地址转换信息的读取(步骤S922)。如果未完成部分地址转换信息的读取(步骤S922:否),则主计算机100返回到步骤S922。另一方面,如果完成了部分地址转换信息的读取(步骤S922:是),则主计算机100结束主机端初始化处理。
[0158]需注意,可采用信息处理系统在初始化处理中读取所有地址转换信息、访问频率信息、空闲物理地址信息和部分地址转换信息中的每一个的配置;然而,本公开并不限于该配置。例如,也可采用以下配置:当存储器控制器200不管访问频率而保持部分地址转换信息时,信息处理系统在初始化处理中不执行访问频率信息的读取。信息处理系统可被配置为使得当主计算机100已在初始化处理等之前保持了地址转换信息时,主计算机100在初始化处理中不执行读取。例如,在其中主计算机100将在第一初始化处理中读取的地址转换信息保持在除了非易失性存储器300之外的非易失性存储装置中的配置中,不需要在第二初始化处理中读取地址转换信息。
[0159]在信息处理系统中,访问频率信息和空闲物理地址信息的传送目的地被设置为存储器控制器200 ;然而,传送目的地可被设置为主计算机100而不是存储器控制器200。当访问频率信息的传送目的地被设置为主计算机100时,主计算机100执行访问频率信息的管理。主计算机100基于访问频率确定要保持在存储器控制器200中的地址转换信息页面并指示存储器控制器200。当空闲物理地址信息的传送目的地被设置为主计算机100时,主计算机100将空闲物理地址分配给未被分配的逻辑页面。主计算机100更新地址转换信息页面,并将更新的页面提供给存储器控制器200。
[0160]在初始化处理中,所有地址转换信息、访问频率信息、空闲物理地址信息和部分地址转换信息的读取的顺序并不限于该顺序。例如,在部分地址转换信息的读取中,在其中不查找访问频率信息的配置中,部分地址转换信息和访问频率信息的每一个的读取顺序是随意的。
[0161]存储器控制器的操作实例
[0162]图18是示出第一实施方式中的控制端处理的实例的流程图。当例如接通至信息处理系统的电源时,由存储器控制器200开始操作。首先,存储器控制器200执行控制端初始化处理(步骤S930)。
[0163]存储器控制器200执行数据传送处理(步骤S960)。存储器控制器200确定是否接收发到读命令(步骤S941)。如果接收到读命令(步骤S941:是),则存储器控制器200执行读控制处理(步骤S950)。
[0164]如果未接收到读命令(步骤S941:否),则存储器控制器200确定是否接收到写命令(步骤S942)。如果接收到写命令(步骤S942:是),则存储器控制器200执行写控制处理(步骤S970)。当未接收到写命令(步骤S942:否)时,或者在步骤S950或S970之后,存储器控制器200返回到步骤S941。
[0165]图19是示出第一实施方式中的控制器端初始化处理的实例的流程图。存储器控制器200确定是否接收到用于读取地址转换信息的初始化命令(步骤S931)。如果未接收到用于读取地址转换信息的初始化命令(步骤S931:否),则存储器控制器200返回到步骤S931。另一方面,如果接收到初始化命令(步骤S931:是),则存储器控制器200从非易失性存储器300读取地址转换信息,并将地址转换信息传送到主计算机100。存储器控制器200将表示初始化命令的执行结果的状态提供给主计算机100 (步骤S932)。
[0166]存储器控制器200确定是否接收到用于读取访问频率信息的初始化命令(步骤S933)。如果未接收到用于读取访问频率信息的初始化命令(步骤S933:否),则存储器控制器200返回到步骤S933。另一方面,如果接收到初始化命令(步骤S933:是),存储器控制器200从非易失性存储器300中获取访问频率信息并将访问频率信息传送到RAM230。存储器控制器200进行将每个地址转换信息页面的访问次数乘以预定系数(例如,0.5)的加权,并将该值写回RAM230。存储器控制器200将表示初始化命令的执行结果的状态提供给主计算机100 (步骤S934)。
[0167]存储器控制器200确定是否接收到用于读取空闲物理地址的信息的初始化命令(步骤S935)。如果未接收到用于读取空闲物理地址的信息的初始化命令(步骤S935:否),则存储器控制器200返回到步骤S935。另一方面,如果接收到初始化命令(步骤S935:是),则存储器控制器200从非易失性存储器300获取并保持空闲物理地址信息。存储器控制器200将表示初始化命令的执行结果的状态提供给主计算机100 (步骤S936)。
[0168]存储器控制器200确定是否接收到用于读取部分地址转换的信息的初始化命令(步骤S937)。如果未接收到用于读取部分地址转换的信息的初始化命令(步骤S937:否),则存储器控制器200返回到步骤S937。另一方面,如果接收到初始化命令(步骤S937:是),则存储器控制器200基于访问频率从非易失性存储器300获取并保持部分(例如,32页)地址转换信息(步骤S938)。
[0169]具体地,在步骤S938中,存储器控制器200查找访问频率信息,并获取具有最高访问频率的32页的每个地址转换信息页面的页码。这些页码将被称作Ki (其中,i是I至K32的整数)。
[0170]数据传送单元224使用下列等式获取要读取的物理页面地址Pi,并发出指定物理页面地址的读请求。Pi = PO+(页面大小)XK1...等式2。在上述等式中,PO是非易失性存储器300中的地址转换信息保持区322中的起始物理页面地址。页面大小是地址转换信息页面的数据大小(其4,096 (字节))。
[0171]存储器控制器200将所读取的32页地址转换信息保持在存储器控制器200中的地址转换信息保持区231中。
[0172]存储器控制器200将表示初始化命令的执行结果的状态提供给主计算机100 (步骤S938)。在步骤S938之后,存储器控制器200结束控制端初始化处理。
[0173]需注意,可采用存储器控制器200根据来自主计算机100的初始化命令来执行控制端初始化处理的配置;但是本公开并不限于该配置。例如,存储器控制器200可自发地执行控制端初始化处理,而无需主计算机100在主机端初始化处理中发出初始化命令。
[0174]图20是示出第一实施方式中的读控制处理的实例的流程图。存储器控制器200确定由读指令指定的逻辑页面地址和传送页数是否是适当的值(步骤S951)。
[0175]具体地,在以下三种情况下,逻辑页面地址或传送页数被确定为不是适当的值。首先,当所指定的读取开始页面地址或写入开始页面地址不是预先定义的逻辑页面地址空间中的地址时,逻辑页面地址被确定为不是合适的值。例如,在从0x00000到0x07bfff等的范围之外的逻辑页面地址。
[0176]当传送页数大于逻辑页面地址空间(507,904)中的总页数时,传送页数被确定为不是适当的值。需注意,也可采用以下配置:预先设置小于逻辑页面地址空间的总页数的上限值(例如,256),并且当传送页数大于上限值时,传送页数被确定为不是适当的值。
[0177]当其中传送页数被添加到指定逻辑页面地址的地址不与所定义的逻辑页面地址空间中的地址对应时,所指定的逻辑页面地址和传送页数被确定为不是适当的值。
[0178]当所指定的逻辑页面地址和传送页数不是适当的值(步骤S951:否)时,存储器控制器200产生表示错误的状态并通知主计算机100该状态(步骤S952)。
[0179]另一方面,当所指定的逻辑页面地址和传送页数是适当的值(步骤S951:是)时,存储器控制器200获取包含被读取的目标的目标逻辑页面地址的地址转换信息页面的页码。存储器控制器200确定该页码的地址转换信息页面是否在于被保持的地址转换信息中(步骤S953)。在此,读取开始页面地址首先被设置为目标逻辑页面地址。
[0180]如果没有对应的地址转换信息页面(步骤S953:否),则存储器控制器200使用页面获取请求从主计算机100获取地址转换信息页面(步骤S954)。
[0181]如果有对应的地址转换信息页面(步骤S953:是),或者在步骤S954之后,存储器控制器200将所指定的逻辑页面地址转换为物理页面地址(步骤S955)。
[0182]存储器控制器200产生指定物理页面地址的读请求,并将请求添加到队列中。存储器控制器200更新访问频率信息。具体地,包含目标逻辑页面地址的地址转换信息页面的访问次数增加预定值(例如,“I”)(步骤S956)。
[0183]存储器控制器200确定是否完成了用于读取指定页码的读请求的生成(步骤S957)。如果未完成读请求的生成(步骤S957:否),则存储器控制器200将目标逻辑页面地址更新为当前的目标逻辑页面地址后面的页面地址。例如,当当前的目标逻辑页面地址是0x013ff时,目标逻辑页面地址被更新为0x01400 (其是0x013ff和0x00001之和)(步骤S958)。在步骤S958之后,存储器控制器200返回到步骤S953。
[0184]当完成读请求的生成时(步骤S957:是),或者在步骤S952之后,存储器控制器200结束读取控制处理。
[0185]需注意,采用了其中存储器控制器200执行确定逻辑页面地址和传送页数是否是适当值的处理的配置;然而,也可采用其中主计算机100代替存储器控制器200执行处理的配置。
[0186]图21是示出第一实施方式中的数据传送处理的实例的流程图。存储器控制器200确定读请求是否在请求队列中等待执行(步骤S961)。
[0187]当读请求正在等待执行(步骤S961:是)时,存储器控制器200从队列中提取读请求,并将读请求提供给非易失性存储器300。存储器控制器200从非易失性存储器300的指定的物理页面地址获取读数据(步骤S962)。
[0188]存储器控制器200基于ECC执行读数据中的错误的检查和纠正(步骤S963)。存储器控制器200将校正的读数据与状态一起传送到主计算机100。然而,当校正失败时,存储器控制器200产生表示错误的状态并将该状态提供给主机100 (步骤S964)。
[0189]存储器控制器200确定是否完成了读数据或状态的传送(步骤S965)。如果未完成传送(步骤S965:否),则存储器控制器200返回到步骤S965。另一方面,如果完成传送(步骤S965:是),则存储器控制器200返回到步骤S961。
[0190]当读请求未等待执行(步骤S961:否)时,存储器控制器200确定写请求是否在请求队列中等待执行(步骤S966)。当写请求是等待执行(步骤S966:是)时,存储器控制器200从队列中提取写请求并将该写请求提供给非易失性存储器300。
[0191]存储器控制器200将写数据编码为ECC (步骤S967)。存储器控制器200将编码的写数据与写请求一起提供给非易失性存储器300,并写入写数据。在此,当在非易失性存储器300不能写入时,存储器控制器200产生表示错误的状态并将该状态提供给主机100 (步骤 S968)。
[0192]存储器控制器200确定是否完成写数据的写入(步骤S969)。如未完成写入(步骤S969:否),则存储器控制器200返回到步骤S969-1。另一方面,如果完成写入(步骤S969:是),则存储器控制器200返回到步骤S961。
[0193]当写请求未等待执行(步骤S966:否)时,存储器控制器200结束数据传送处理。
[0194]图22是示出第一实施方式中的写控制处理的实例的流程图。存储器控制器200确定由写命令指定的逻辑页面地址和传送页数是否是适当的值(步骤S971)。
[0195]当指定的逻辑页面地址和传送页数不是适当的值(步骤S971:否)时,存储器控制器200产生表示错误的状态并利用该状态通知主计算机100 (步骤S972)。
[0196]另一方面,当所指定的逻辑页面地址和传送页数是适当的值(步骤S971:是)时,存储器控制器200获取包含被读取的目标的目标逻辑页面地址的地址转换信息页面的页码。存储器控制器200确定该页码的地址转换信息页面是否是在被保持的地址转换信息中(步骤S973)。在此,读取开始页面地址首先被设置为目标逻辑页面地址。
[0197]如果没有对应的地址转换信息页面(步骤S973:否),则存储器控制器200使用页面获取请求从主计算机100获取地址转换信息页面(步骤S954)。
[0198]如果有对应的地址转换信息页面(步骤S973:是),或者在步骤S974之后,存储器控制器200执行空闲物理地址分配处理(步骤S980)。存储器控制器200基于地址转换信息页面将所指定的逻辑页面地址转换为物理页面地址(步骤S975)。
[0199]存储器控制器200产生指定物理页面地址的读请求,并将请求添加到队列中。存储器控制器200更新访问频率信息(步骤S976)。
[0200]存储器控制器200确定是否完成用于写入指定页码的写请求的生成(步骤S977)。如果未完成写请求的生成(步骤S977:否),则存储器控制器200将目标逻辑页面地址更新为当前的目标逻辑页面地址后面的页面地址(步骤S978)。在步骤S978之后,存储器控制器200返回到步骤S973。
[0201]当完成写请求的生成(步骤S977:是)时,或者在步骤S972之后,存储器控制器200结束写控制处理。
[0202]图23是示出第一实施方式中的空闲物理地址分配处理的实例的流程图。存储器控制器200查找与所指定的逻辑页面地址对应的条目,并确定物理页面地址是否被分配给逻辑页面地址(步骤S981)。
[0203]当未分配物理页面地址(步骤S981:否)时,存储器控制器200查找空闲物理地址信息,并选择其中一个空闲物理页面地址。存储器控制器200将被选择的物理页面地址的使用状态在空闲物理地址信息中更新为“使用中”(步骤S982)。存储器控制器200将所选择的物理页面地址分配到所指定的逻辑页面地址。具体地,存储器控制器200使用所选择的物理页面地址来更新关于指定的逻辑页面地址的条目中的物理页面地址。存储器控制器200将条目的分配状态更新为“已分配”(步骤S983)。存储器控制器200将更新的地址转换信息页面提供给主计算机100 (步骤S984)。
[0204]当分配了物理页面地址(步骤S981:是)时,或者在步骤S984之后,存储器控制器200结束空闲物理地址分配处理。
[0205]图24是示出第一实施方式中的在初始化过程中的信息处理系统的操作的序列图的实例。首先,主计算机100指定地址转换信息保持区322的地址、发出其中传送目的地被设置为主计算机100的初始化命令,并将初始化命令提供给存储器控制器200。存储器控制器200根据初始化命令从非易失性存储器300读取所有地址转换信息,并将地址转换信息传送到主计算机100。主计算机100保持被传送到其的地址转换信息(步骤S912)。
[0206]主计算机100指定访问频率信息保持区323的地址、发出其中传送目的地被设置为存储器控制器200的初始化命令,并将初始化命令提供给存储器控制器200。存储器控制器200根据初始化命令从非易失性存储器300读取并保持访问频率信息(步骤S934)。
[0207]主计算机100指定空闲物理地址信息保持区324的地址、发出其中传送目的地被设置为存储器控制器200的初始化命令,并将初始化命令提供给存储器控制器200。存储器控制器200根据初始化命令从非易失性存储器300读取并保持空闲物理地址信息(步骤S936)。
[0208]主计算机100指定地址转换的信息保持区322的地址、发出其中传送目的地被设置为存储器控制器200的初始化命令,并将初始化命令提供给存储器控制器200。存储器控制器200根据初始化命令从非易失性存储器300读取并保持部分地址转换信息(步骤S938)。
[0209]图25是示出第一实施方式中的在用户数据的读取过程中的信息处理系统的操作的序列图的实例。发出传送页数为2页的读命令Cl,并且读命令Cl被划分为存储器读命令Rla和Rib。假设对应于读命令Cl的第一页的逻辑页面地址Lla的条目被保持在存储器控制器200中,并且对应于第二页的逻辑页面地址Llb的条目未被保持在存储器控制器200中。
[0210]主计算机100发出读命令Cl并将读命令Cl提供给存储器控制器200。存储器控制器200查找对应于读命令Cl的第一页的逻辑页面地址Lla的条目,并将逻辑页面地址Lla转换为物理页面地址Pla (步骤S955)。存储器控制器200产生指定物理页面地址Pla的存储器读命令Rla,并将存储器读命令提供给非易失性存储器300。存储器控制器200获取从非易失性存储器300的物理页面地址Pla读取的用户数据Dla,并将用户数据Dla传送到主计算机100。
[0211]由于存储器控制器200未保持对应于第二页的逻辑页面地址Llb的条目,因此存储器控制器200使用页面获取请求从主计算机100请求包含该条目的地址转换信息页面。在用户数据Dla等的读取过程中,存储器控制器200从主计算机100获取所请求的地址转换信息页面。具体地,地址转换信息的获取与从非易失性存储器300读取用户数据Dla (步骤S962)、错误纠正(步骤S963)或将用户数据Dla传送到主机(步骤S964)或者多个处理中的其中一个同时进行。存储器控制器200基于地址转换信息页面将逻辑页面地址Llb转换为物理页面地址Plb (步骤S955)。存储器控制器200产生指定物理页面地址Plb的存储器读命令Rlb,并将存储器读命令提供给非易失性存储器300。存储器控制器200从非易失性存储器300获取从物理页面地址Plb读取的用户数据Dlb,并将用户数据Dlb传送到主计算机100。
[0212]图26A和图26B是示出第一实施方式中的在读取过程中的存储器控制器的操作的时序图的实例。发出传送页数为2页的读命令Cl,并将读命令Cl划分为存储器读命令Rla和Rib。假设与读命令Cl的第一页的逻辑页面地址Lla对应的条目保持在存储器控制器200中,并且与第二页的逻辑页面地址Llb对应的条目未保持在存储器控制器200中。
[0213]图26A是在从主计算机100获取地址转换信息页面的第一实施方式中的时序图,在时刻t0,地址转换单元223查找与读命令Cl的第一页Lla的逻辑页面地址对应的条目并将逻辑页面地址Lla转换为物理页面地址Plb。
[0214]在直到时刻tl的周期内,数据传送单元224发出指定转换的物理页面地址Pla的存储器读命令Rla。在从时刻tl到时刻t2的周期内,地址转换信息获取单元222从主计算机100请求与读命令Cl的第二页的逻辑页面地址Llb对应的地址转换信息页面。
[0215]在时刻tl,数据传送单元224开始传送从物理页面地址Pla读取的用户数据Dla。
[0216]在从时刻t2到时刻t3的周期内,地址转换信息获取单元222从主计算机100获取与第二页的逻辑页面地址Llb对应的地址转换信息页面。
[0217]在从时刻t3到时刻t4的周期内,地址转换单元223查找所获取的地址转换信息页面,并将逻辑页面地址Llb转换为物理页面地址Plb。数据传送单元224发出指定物理页面地址Plb的存储器读命令Rib。
[0218]在时刻t5,当完成用户数据Dla的传送时,数据传送单元224开始传送从物理页面地址Plb读取的用户数据Dlb。在时刻t5之后的时刻t8,完成用户数据Dlb的传送。
[0219]图26B是在假设从非易失性存储器获取地址转换信息页面的配置的比较实例中的时序图。在时刻t0,地址转换单元223查找与读命令Cl的第一页的逻辑页面地址Lla对应的条目,并将逻辑页面地址Lla转换为物理页面地址Pla。
[0220]在直到时刻tl的周期内,数据传送单元224发出指定转换的物理页面地址Pla的存储器读命令Rla。在从时刻tl到时刻t2的周期内,地址转换单元223从非易失性存储器300获取与第二页的逻辑页面地址Llb对应的地址转换信息页面。
[0221]在时刻tl,数据传送单元224开始传送从物理页面地址Pla读取的用户数据Dla。
[0222]在时刻t5,当完成用户数据Dla的传送时,在从时刻t5到时刻t6的周期内,地址转换单元223从非易失性存储器300中获取与逻辑页面地址Llb对应的地址转换信息页面。
[0223]需注意,主计算机100与存储器控制器200之间的数据传送速率通常比非易失性存储器300与存储器控制器200之间的数据传送速率快。因此,从非易失性存储器300获取地址转换信息所花费的时间(=T6-T5)通常比从主计算机100获取地址转换信息所花费的时间(=T3-T2)长。
[0224]在从时刻t6到时刻t7的周期内,地址转换单元223查找所获取的地址转换信息页面,并将逻辑页面地址Llb转换为物理页面地址Plb。数据传送单元224发出指定物理页面地址Plb的存储器读命令。
[0225]在时刻t7,数据传送单元224开始传送从物理页面地址Plb读取的用户数据Dla。在时刻t7和t8之后的时刻t9,完成用户数据Dlb的传送。
[0226]从主计算机100获取地址转换信息的图26A的情况将与从非易失性存储器300获取地址转换信息的图26B的情况比较。在前一种情况下,从非易失性存储器300读取用户数据和从主计算机100获取地址转换信息可并行地执行。因此,在用户数据Dla的传送过程中,存储器控制器200可获取用于下一个用户数据Dlb的传送所必需的地址转换信息页面。因此,在完成用户数据Dla的传送的时刻t5,存储器控制器200可开始传送用户数据Dlb。
[0227]相反,在后一种情况下,由于从非易失性存储器300读取地址转换信息,因此可能不能并行地执行地址转换信息的读取和用户数据的读取。因此,存储器控制器200可能不能开始地址转换信息的传送,直到完成用户数据Dla的传送之后的时刻t5。存储器控制器200可能不能开始下一个用户数据Dlb的传送,直到完成地址转换信息的传送之后的时刻t6。换言之,用户数据Dlb的传送被延迟了传送地址转换信息所花费的时间量。
[0228]因此,通过如图26A所示例的从主计算机100获取地址转换信息,由于地址转换信息的传送而引起的用户数据D2的传送延迟被抑制,如图26B所示。因此,缩短了数据的传送时间。
[0229]以这种方式,根据本发明的第一实施方式,由于存储器控制器200从主计算机100获取条目,因此可以并行地执行条目的获取和传送数据的传送。因此,可以通过抑制由条目的获取所引起的延迟来减少传送所述传送数据所花费的时间。
[0230]2.第二实施方式
[0231]主计算机的配置实例
[0232]在第一实施例中,存储器控制器200执行地址转换,而不管传送数据的数据大小(传送页数)。然而,当由传送命令指定的传送页数相对较少时,存在存储器控制器200可能不能并行执行条目的传送和传送数据的传送的问题。例如,对以下情况给出考虑:在完成根据具有“I”的传送页数的读命令Cl的用户数据Dl的传送之后,发出具有“I”的传送页数的读命令C2。在这种情况下,由于完成用户数据Dl的传送,因此存储器控制器200可能不能并行执行对应于读命令C2的条目的传送和用户数据Dl的传送。因此,可能不会减少传送数据的传送时间。
[0233]第二实施方式的信息处理系统与第一实施方式的不同之处在于:当传送页数相对较少时,主计算机100代替存储器控制器200执行地址转换。
[0234]图27是示出第二实施方式中的主计算机100的配置实例的框图。第二实施方式的主计算机100与第一实施方式的主计算机100的不同之处在于进一步设置地址转换单元125。第二实施方式的主计算机100与第一实施方式的主计算机100的不同之处在于在RAMl30中进一步设置空闲物理地址信息保持区132。
[0235]在初始化处理中,第二实施方式的初始化处理单元121进一步发出用于读取空闲物理地址信息的读命令。读命令的传送目的地被设置为主计算机100。初始化处理单元121从存储器控制器200获取空闲物理地址信息,并使空闲物理地址信息保持区132保持空闲物理地址信息。
[0236]地址转换单元125确定由传送命令指定的传送页数是否小于预定值(例如,“2”)。当传送页数小于预定值时,地址转换单元125查找地址转换信息和空闲物理地址信息,并将指定的逻辑页面地址转换为物理页面地址。地址转换单元125将被设置为“开(on)”的转换标记和转换的物理页面地址添加到传送命令,并将传送命令提供给数据传送处理单元123。转换标记是指示主计算机100是否执行地址转换的标记。例如,当主计算机100执行地址转换时,转换标记被设置为“开”,并且在不是这种情况时设置为“关(off) ”。
[0237]另一方面,当传送页数是预定值或更大时,地址转换单元125将被设置为“关”的转换标记添加到传送命令,并将传送命令提供给数据传送处理单元123,而不执行地址转换。
[0238]当第二实施方式的地址转换信息管理单元124接收到更新的地址转换信息页面时,地址转换信息管理单元124还根据需要更新空闲物理地址信息。
[0239]在接收到具有被设置为“开”的转换标记的传送命令时,存储器控制器200使用由命令指定的逻辑页面地址和物理页面地址更新RAM230中的地址转换信息和空闲物理地址信息。因此,确保分别由主计算机100和存储器控制器200保持的地址转换信息和空闲物理地址信息之间的完整性。
[0240]需注意,存储器控制器200使用具有被设置为“开”的转换标记的传送命令更新保持在其中的地址转换信息和空闲物理地址信息;然而,本公开并不限于该配置。例如,也可采用以下配置:主计算机100中的地址转换信息管理单元124与传送命令分开地为存储器控制器200提供指示与更新传送命令相关的逻辑页面地址和物理页面地址的通知。在这种情况下,存储器控制器200基于通知中的地址更新保持在其中的地址转换信息和空闲物理地址信息。
[0241]地址转换信息管理单元124可与传送命令分开地为存储器控制器200提供指示所更新的地址转换信息页面和空闲物理地址信息页面的通知。在这种情况下,存储器控制器200基于通知中的页码更新保持在其中的地址转换信息和空闲物理地址信息。
[0242]当主计算机100中的地址转换单元125确定是否有必要在地址转换中分配新的物理页面地址时,地址转换单元125可改变为使存储器控制器200执行地址转换的处理。具体地,当传送页数小于预定值并且逻辑页面地址被分配给物理页面地址时,地址转换单元125执行地址转换。另一方面,当传送页数是预定值或更大或者物理页面地址未被分配给逻辑页面地址时,主计算机100提供具有被设置为“关”的转换标记的传送指令,而不执行地址转换。在该配置中,主计算机100无需保持空闲物理地址信息。
[0243]图28A和图28B是示出第二实施方式中的传送命令的数据配置的实例的示图。图28A是当传送页数是预定值或更大时的传送命令的实例。在这种情况下,由于主计算机100不执行地址转换,因此被设置为“关”的转换标记被添加到传送命令。
[0244]图28B是当传送页数小于预定值时的传送命令的实例。在这种情况下,由于主计算机100执行地址转换,因此被设置为“开”的转换标记和转换的物理页面地址被添加到传送命令。预转换逻辑页面地址未从传送命令中删除,并与物理页面地址一起被发送到存储器控制器200。逻辑页面地址用于更新访问频率。需注意,在图28A和图28B中,省略了传送源地址和传送目的地地址。
[0245]当转换标记被设置为“开”时,第二实施方式的存储器控制器200产生指定所添加的物理页面地址的传送请求,而不执行地址转换。另一方面,当转换标记被设置为“关”时,存储器控制器200执行地址转换,并与第一实施方式相同的方式产生传送请求。
[0246]需注意,采用以下配置:当传送页数小于预定值时,主计算机100将逻辑页面地址与物理页面地址一起提供给存储器控制器200 ;然而,也可采用仅提供物理页面地址的配置。在这种情况下,当主机计算机100执行地址转换时,存储器控制器200不更新访问频率。
[0247]图29是示出第二实施方式中主机端处理的实例的流程图。第二实施方式的主机端处理与第一实施方式的主机端处理的不同之处在于:进一步执行步骤S995至S999。
[0248]当发出传送命令(步骤S923:是)时,主计算机100确定由传送命令指定的传送页数是否是2页或更多(步骤S995)。当传送页数是2页或更多(步骤S995:是)时,主计算机100将被添加了被设置为“关”的转换标记的传送命令提供给存储器控制器200 (步骤S924)。主计算机100执行步骤S925至S927。
[0249]当传送页数小于2页(步骤S995:否)时,主计算机100将逻辑页面地址转换为物理页面地址(步骤S996)。当主机100在地址转换中重新分配空闲物理页面地址时,主计算机100更新空闲物理地址信息(步骤S997)。
[0250]主计算机100将转换标记设置为“开”(步骤S998)。主计算机100将转换标记和物理页面地址添加到传送命令,并将传送命令提供给存储器控制器200 (步骤S999)。过程返回到步骤S923。
[0251]图30是示出第二实施方式中的主机端初始化处理的实例的流程图。第二实施方式的主机端初始化处理与第一实施方式的主机端初始化处理的不同之处在于进一步执行步骤S916至S918。
[0252]当完成访问频率信息的读取(步骤S915:是)时,主计算机发出用于读取空闲物理地址信息100的初始化命令。在初始化命令中,空闲物理地址信息(其是读数据)的传送目的地被设置为主计算机100。主计算机100将初始化命令提供给存储器控制器200 (步骤 S916)。
[0253]主计算机100保持所读取的空闲物理地址信息页面(步骤S917)。主计算机100基于来自存储器控制器200的状态确定是否完成所有(32页)空闲物理地址信息页面的读取(步骤S918)。如果完成了所有页面的读取(步骤S918:否),则主计算机100返回到步骤 S917。
[0254]如果完成空闲物理地址信息的读取(步骤S918:是),则主计算机100执行步骤S919 至 S922。
[0255]图31是示出第二实施方式中的控制器端初始化处理的实例的流程图。第二实施方式的控制器端初始化处理与第一实施方式的控制器端初始化处理的不同之处在于进一步执行步骤S937至S938。
[0256]需注意,如图30和图31所示,采用存储器控制器200根据具有不同传送目的地的两个初始化命令传送并保持空闲物理地址信息的配置;然而本公开并不限于该配置。也可采用以下配置:主计算机100发出一个初始化命令,并且存储器控制器200保持空闲物理地址信息,并根据初始化命令将空闲物理地址信息传送到主计算机100。
[0257]当存储器控制器200保持空闲物理地址信息(步骤S936)时,存储器控制器200确定是否接收到用于读取空闲物理地址信息的初始化命令(步骤S937)。如果未接收到用于读取空闲物理地址信息的初始化命令(步骤S937:否),则存储器控制器200返回到步骤S937。如果接收到初始化命令(步骤S937:是),则存储器控制器200从非易失性存储器300读取空闲物理地址信息并将空闲物理地址信息传送到主计算机100 (步骤S938)。在步骤S938之后,存储器控制器200执行步骤S939和S940。
[0258]图32是示出第二实施方式的读控制处理的实例的流程图。第二实施方式的读控制处理与第一实施方式的读控制处理的不同之处在于进一步执行步骤S959。
[0259]存储器控制器200确定所指定的逻辑页面地址和传送页数是否是适当的值(步骤S951)。然而,当转换标记是“开”时,由于传送页数是“1”,存储器控制器200可仅确定逻辑页面地址是否是适当的值。
[0260]当所指定的逻辑页面地址和传送页数是适当的值(步骤S951:是)时,存储器控制器200查找转换标记。存储器控制器200确定逻辑页面地址是否由主计算机100转换(步骤S959)。当逻辑页面地址未被转换(步骤S959:否)时,存储器控制器200执行步骤S953至S955。当逻辑页面地址被转换(步骤S959:是)时,或者在步骤S955之后,存储器控制器200产生指定所转换的物理页面地址的读请求。存储器控制器200还更新由传送命令指定的逻辑页面地址的访问频率(步骤S956)。存储器控制器200继续执行步骤S957的处理。
[0261]图33是示出第二实施方式中的写控制处理的实例的流程图。第二实施方式的写控制处理与第一实施方式的写控制处理的不同之处在于进一步执行步骤S979。
[0262]当所指定的逻辑页面地址和传送页数是适当的值(步骤S971:是)时,存储器控制器200查找转换标记。存储器控制器200确定逻辑页面地址是否由主计算机100转换(步骤S979)。当逻辑页面地址未被转换(步骤S979:否)时,存储器控制器200执行步骤S973至S975。另一方面,当逻辑页面地址被转换(步骤S979:是)时,或者在步骤S975之后,存储器控制器200产生指定所转换的物理页面地址的写请求。存储器控制器200还更新由传送命令指定的逻辑页面地址的访问频率(步骤S976)。存储器控制器200继续执行步骤S977的处理。
[0263]图34是示出第二实施方式中的在初始化过程中的信息处理系统的操作的序列图的实例。主计算机100保持由存储器控制器200传送至其的地址转换信息(步骤S912)。
[0264]存储器控制器200根据来自主计算机100的初始化命令保持从非易失性存储器300读取的访问频率信息(步骤S934)。
[0265]主计算机100发出其中传送目的地被设置为主计算机100的初始化命令,并将初始化命令提供给存储器控制器200。存储器控制器200根据初始化命令从非易失性存储器300读取空闲物理地址信息,并将空闲物理地址信息传送到主计算机100。主计算机100保持被传送至其的空闲物理地址信息(步骤S917)。
[0266]存储器控制器200根据来自主计算机100的初始化命令保持空闲物理地址信息(步骤S936),并保持部分地址转换信息(步骤S938)。
[0267]图35是示出第二实施方式中的在用户数据的读取过程中的信息处理系统的操作的序列图的实例。将假设依次发出分别指定不同逻辑页面地址的读命令Cl和C2。假设读命令Cl的传送页数是2页,并且读命令C2的传送页数是I页。假设对应于读命令C2的逻辑页面地址L2的条目未保持在存储器控制器200中。
[0268]由于读命令Cl中的传送页数是2页,引出逻辑页面地址以与第一实施例相同的方式通过存储器控制器200转换为物理页面地址。
[0269]另一方面,由于读命令C2的传送页数是I页,引出主计算机100将读命令C2的逻辑页面地址L2转换为物理页面地址P2 (步骤S926)。主计算机100将包括逻辑页面地址L2和物理页面地址P2的读命令C2提供给存储器控制器200。存储器控制器200产生指定物理页面地址P2的存储器读命令R2,并将存储器读命令提供给非易失性存储器300。存储器控制器200更新逻辑页面地址L2的访问频率。
[0270]根据第二实施方式,由于当传送数据的数据大小小于预定大小时主计算机100执行地址转换,因此存储器控制器200无需获取地址转换信息的条目。因此,当传送数据的数据大小小于预定大小时,抑制由于条目的获取所引起的数据传送时间的延迟。
[0271]假设上述实施方式中的记录在非易失性存储器300中的地址转换信息被保持在主计算机100的地址转换信息保持区131中。然而,在地址转换信息的保持中,可执行加密和检错码的添加以防止来自外部的非预期的更新或访问。在这种情况下,用于实现加密、解密、检错码的添加以及检错的功能的每一个的电路和程序位于主计算机100或存储控制器200 中。
[0272]需注意,上述实施方式示出了用于实现本公开的实例,并且在实施方式中的条目与在权利要求的范围内的本公开的特定条目彼此对应。类似地,在权利要求的范围内的本公开的特定条目与本公开的实施方式中的具有相同名称的条目彼此对应。然而,本公开并不限于实施方式,并且在不偏离本公开的精神的情况下,可以通过对实施方式作出各种修改来实现本公开。
[0273]在上述实施方式中描述的过程可被解释为包括一系列步骤的方法,并且也可被解释为用于使计算机执行一系列步骤的程序以及存储该程序的记录介质。可以使用光盘(⑶)、迷你光盘(MD)、数字通用光盘(DVD)、存储器卡、蓝光光盘(tm)等作为记录介质。
[0274]本公开可采用以下配置。
[0275](I) 一种存储器控制装置,包括:地址转换信息保持部分,保持选自地址转换信息的部分条目,地址转换信息包含将逻辑地址与存储器装置的物理地址相关联的多个条目;地址转换信息获取单元,当包含由主计算机指定的逻辑地址的条目未被保持在地址转换信息保持部分中时,地址转换信息获取单元从主计算机中获取未被保持的条目并使地址转换信息保持部分保持条目;地址转换单元,基于保持在地址转换信息保持部分中的条目将指定的逻辑地址转换为物理地址;以及数据传送单元,执行其中传送数据使用所转换的物理地址来传送的数据传送过程。
[0276](2)根据(I)所述的存储器控制装置,进一步包括访问频率保持部分,访问频率保持部分为每个条目保持与对应于条目的逻辑地址相关的访问频率,其中,数据传送单元进一步执行初始化处理,初始化处理包括选择部分条目、优先访问频率高的条目以及使地址转换信息保持部分保持所选择的条目的过程。
[0277](3)根据(2)所述的存储器控制装置,其中,数据传送单元执行进一步包括从存储器装置中获取所有条目以及将条目传送到主计算机的过程的初始化处理。
[0278](4)根据(I)至(3)中任一项所述的存储器控制装置,其中,由主计算机指定的地址是物理地址或逻辑地址,其中,当由主计算机指定的地址是逻辑地址时,地址转换单元基于条目将指定的逻辑地址转换为物理地址,并且其中,数据传送单元使用由主计算机指定的物理地址或所转换的物理地址来传送所述传送数据。
[0279](5)根据(4)所述的存储器控制装置,其中,由主计算机指定的地址是逻辑地址和物理地址或者逻辑地址,并且当由主计算机指定的地址是逻辑地址和物理地址时,地址转换单元基于所指定的物理地址更新对应于所指定的逻辑地址的条目。
[0280](6)根据(4)所述的存储器控制装置,其中,主计算机为存储器控制单元提供指定物理地址或逻辑地址的命令以及指示逻辑地址和重新分配给逻辑地址的物理地址的通知,并且其中,当通知被提供给地址转换单元时,地址转换单元基于由通知所指示的物理地址更新对应于由通知指示的逻辑地址的条目。
[0281](7) 一种主计算机,包括:保持部分,保持包含将逻辑地址与存储器装置的物理地址相关联的多个条目的地址转换信息;地址转换单元,当在存储器装置与主计算机之间传送的传送数据的数据大小小于预定大小时,地址转换单元基于所保持的条目将逻辑地址转换为物理地址;以及命令单元,指定逻辑地址或转换的物理地址并指示存储器控制装置传送所述传送数据。
[0282](8)根据(7)所述的主计算机,进一步包括为存储器控制装置提供指示逻辑地址和重新分配给逻辑地址的物理地址的通知的地址转换信息管理单元;其中,保持单元进一步保持未被分配逻辑地址的物理地址作为空闲物理地址,并且其中,当物理地址不与逻辑地址相关联时,地址转换单元将空闲物理地址重新分配给逻辑地址。
[0283](9)根据(7)所述的主计算机,其中,当在存储器装置与主计算机之间传送的传送数据的数据大小小于预定大小并且物理地址不与逻辑地址相关联时,地址转换单元基于所保持的条目将逻辑地址转换为物理地址。
[0284](10) 一种信息处理系统,包括:主计算机,保持包含将逻辑地址与存储器装置的物理地址相关联的多个条目的地址转换信息;地址转换信息保持部分,保持选自地址转换信息的部分条目;地址转换信息获取单元,当包含由主计算机指定的逻辑地址的条目未被保持在地址转换信息保持单元中时,地址转换信息获取单元从主计算机获取未被保持的条目并使地址转换信息保持部分保持所述条目;地址转换单元,基于被保持在地址转换信息保持部分中的条目将指定的逻辑地址转换为物理地址;以及数据传送单元,执行其中传送数据使用所转换的物理地址来传送的数据传送过程。
[0285](11) 一种控制存储器控制装置的方法,包括:地址转换信息获取过程,其中,当包含由主计算机指定的逻辑地址的条目未被保持在地址转换信息保持部分中时,地址转换信息获取单元从主计算机获取未被保持的条目并使地址转换信息保持部分保持所述条目,其中,地址转换信息保持部分保持选自包含将逻辑地址与存储器装置的物理地址关联的多个条目的地址转换信息的部分条目;地址转换过程,其中,地址转换单元基于被保持在地址转换信息保持部分中的条目将指定的逻辑地址转换为物理地址;以及数据传送过程,其中,数据传送单元执行其中传送数据使用所转换的物理地址来传送的数据传送过程。
[0286] 本领域技术人员应理解,根据设计要求和其它因素,可出现各种修改、组合、子组合和变更,只要它们在所附权利要求或其等同物的范围内即可。
【权利要求】
1.一种存储器控制装置,包括: 地址转换信息保持单元,保持选自地址转换信息的部分条目,所述地址转换信息包含将逻辑地址与存储器装置的物理地址相关联的多个条目; 地址转换信息获取单元,当包含由主计算机所指定的所述逻辑地址的条目未被保持在所述地址转换信息保持单元中时,所述地址转换信息获取单元从所述主计算机获取未被保持的所述条目并使所述地址转换信息保持单元保持所述条目; 地址转换单元,基于被保持在所述地址转换信息保持单元中的所述条目将所指定的逻辑地址转换为所述物理地址;以及 数据传送单元,执行传送数据使用所转换的物理地址来传送的数据传送过程。
2.根据权利要求1所述的存储器控制装置,进一步包括: 访问频率保持单元,为每个条目保持与对应于所述条目的所述逻辑地址相关的访问频率, 其中,所述数据传送单元进一步执行初始化处理,所述初始化处理包括选择部分所述条目、优先所述访问频率高的所述条目以及使所述地址转换信息保持单元保持所选择的条目的过程。
3.根据权利要求2所述的存储器控制装置, 其中,所述数据传送单元执行进一步包括从所述存储器装置中获取所有所述条目以及将所述条目传送到所述主计算机的过程的初始化处理。
4.根据权利要求1所述的存储器控制装置, 其中,由所述主计算机指定的地址是所述物理地址或所述逻辑地址, 其中,当由所述主计算机指定的所述地址是所述逻辑地址时,所述地址转换单元基于所述条目将被指定的所述逻辑地址转换为所述物理地址,并且 其中,所述数据传送单元使用由所述主计算机指定的物理地址或所转换的物理地址来传送所述传送数据。
5.根据权利要求4所述的存储器控制装置, 其中,由所述主计算机指定的地址是所述逻辑地址和所述物理地址或者所述逻辑地址,并且 其中,当由所述主计算机指定的所述地址是所述逻辑地址和所述物理地址时,所述地址转换单元基于所指定的物理地址更新对应于所指定的逻辑地址的所述条目。
6.根据权利要求4所述的存储器控制装置, 其中,所述主计算机为所述存储器控制单元提供指定所述物理地址或所述逻辑地址的命令以及指示所述逻辑地址和新分配给所述逻辑地址的所述物理地址的通知,并且 其中,当所述通知被提供给所述地址转换单元时,所述地址转换单元基于由所述通知所指示的所述物理地址更新与由所述通知指示的所述逻辑地址对应的所述条目。
7.一种主计算机,包括: 保持单元,保持包含将逻辑地址与存储器装置的物理地址关联的多个条目的地址转换信息; 地址转换单元,当在所述存储器装置与所述主计算机之间传送的传送数据的数据大小小于预定大小时,所述地址转换单元基于被保持的所述条目将所述逻辑地址转换为所述物理地址;以及 命令单元,指定所述逻辑地址或所转换的物理地址并指示存储器控制装置传送所述传送数据。
8.根据权利要求7所述的主计算机,进一步包括: 地址转换信息管理单元,为所述存储器控制装置提供指示所述逻辑地址和新分配给所述逻辑地址的所述物理地址的通知, 其中,所述保持单元进一步保持未被分配所述逻辑地址的所述物理地址作为空闲物理地址,并且 其中,当物理地址不与所述逻辑地址相关联时,所述地址转换单元重新将所述空闲物理地址分配给所述逻辑地址。
9.根据权利要求7所述的主计算机, 其中,当在所述存储器装置与所述主计算机之间传送的所述传送数据的数据大小小于所述预定大小并且所述物理地址不与所述逻辑地址相关联时,所述地址转换单元基于被保持的所述条目将所述逻辑地址转换为所述物理地址。
10.一种信息处理系统,包括: 主计算机,保持包含将逻辑地址与存储器装置的物理地址相关联的多个条目的地址转换信息; 地址转换信息保持单元,保持选自所述地址转换信息的部分条目; 地址转换信息获取单元,当包含由所述主计算机指定的所述逻辑地址的所述条目未被保持在所述地址转换信息保持单元中时,所述地址转换信息获取单元从所述主计算机中获取未被保持的所述条目并使所述地址转换信息保持单元保持所述条目; 地址转换单元,基于被保持在所述地址转换信息保持单元中的所述条目将所指定的逻辑地址转换为所述物理地址;以及 数据传送单元,执行传送数据使用所转换的物理地址来传送的数据传送过程。
11.根据权利要求10所述信息处理系统,进一步包括: 访问频率保持单元,为每个条目保持与对应于所述条目的所述逻辑地址相关的访问频率, 其中,所述数据传送单元进一步执行初始化处理,所述初始化处理包括选择部分所述条目、优先所述访问频率高的所述条目以及使所述地址转换信息保持单元保持所选择的条目的过程。
12.—种控制存储器控制装置的方法,包括: 地址转换信息获取过程,其中,当包含由主计算机指定的逻辑地址的条目未被保持在地址转换信息保持单元中时,地址转换信息获取单元从所述主计算机中获取未被保持的所述条目并使所述地址转换信息保持单元保持所述条目,其中,所述地址转换信息保持单元保持选自包含将所述逻辑地址与存储器装置的物理地址相关联的多个条目的地址转换信息的部分条目; 地址转换过程,其中,地址转换单元基于被保持在所述地址转换信息保持单元中的所述条目将所指定的逻辑地址转换为所述物理地址;以及 数据传送过程,其中,数据传送单元执行传送数据使用所转换的物理地址来传送的数 据传送过程。
【文档编号】G06F12/06GK104375951SQ201410387098
【公开日】2015年2月25日 申请日期:2014年8月7日 优先权日:2013年8月14日
【发明者】藤波靖 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1