信息处理设备的制造方法_2

文档序号:8287865阅读:来源:国知局
存储系统2中提供的端口 230至232。
[0064]如上所述,根据本实施例的信息处理设备包括三种类型的端口:第一端口(也被称为CPort O) 130和230、第二端口(也被称为CPort I) 131和231,以及第三端口(也被称为 CPort 2) 132 和 232。
[0065]此外,针对每个端口设置优先级(业务类,也被称为TC等)。具体地说,针对第一端口 130和230设置优先级O (低)。针对第二端口 131和231设置优先级I (高)。针对第三端口 132和232设置优先级O (低)。
[0066]当主机设备I向存储系统2发出请求时,基本上使用第一端口 130和230。来自存储系统2的此类请求适当地选择第二端口 131和231或第三端口 132和232,如下所述。
[0067]如果第一端口 130和230并未彼此区分开,则为了简单起见,第一端口 130和230被统称为第一端口。此外,如果第二端口 131和231并未彼此区分开,则为了简单起见,第二端口 131和231被统称为第二端口。此外,如果第三端口 132和232并未彼此区分开,则为了简单起见,第三端口 132和232被统称为第三端口。
[0068]〈优先级(业务类[TC])〉
[0069]现在,将描述优先级(业务类[TC])。优先级(业务类)是当主机设备I将数据等发送到存储系统2时使用的优先顺序。具体地说,优先级是一个值,其指示当数据传输彼此竞争时,主机设备I与存储系统2之间的数据传输等的顺序。例如,第一实施例设置两种类型的优先级:优先级I (也被称为TCl)和低于优先级I的优先级O (也被称为TC0)。
[0070]针对第一至第三端口的每一个预设置优先级。根据本实施例,将第一端口(CPort
O)设置为优先级O (TC O),将第二端口(CPort I)设置为优先级I (高)(TC I),并且将第三端口(CPort 2)设置为优先级0HS)(TC O) ο下面将描述一种用于选择优先级的方法。
[0071]<设备使用区域的概要>
[0072]图2是示出设备使用区域102的存储结构的示意图。如图2中所示,设备使用区域102包括:L2P高速缓存区域300,其中缓存L2P主体211的一部分;L2P高速缓存标记区域310,其中存储用于L2P高速缓存区域300的命中或未命中确定的标记信息;写入高速缓存区域400,这是其中缓存写入数据的高速缓存结构的存储区域;以及写入高速缓存标记区域410,其中存储用于写入高速缓存区域400的命中或未命中确定的标记信息。
[0073]〈L2P高速缓存标记区域的存储结构>
[0074]图3是示出L2P高速缓存标记区域310的存储结构的示意图。图4是示出L2P高速缓存区域300的存储结构的示意图。在此,例如,LBA的数据长度为26位,并且将使用LBA的较低22位引用L2P高速缓存区域300。在说明书中,LBA的较高4位被表示为T,并且LBA的较低22位被表示为L。LBA将被分配给形成NAND存储器210的每个页(在此,页等于4千字节)。
[0075]形成L2P高速缓存区域300的每个高速缓存行存储一个LBA的物理地址(Phys.Addr.),如图4中所示。L2P高速缓存区域300包括222个高速缓存行。每个高速缓存行的容量为4字节,其相当于用于存储26位物理地址的足够大小。因此,L2P高速缓存区域300的总大小为222X4字节,S卩,16兆字节。此外,配置L2P高速缓存区域300以便以L值的顺序,将对应于LBA的物理地址存储在L2P高速缓存区域300中。即,通过引用地址,读取形成L2P高速缓存区域300的单独高速缓存行,通过使L2P高速缓存区域300的页地址(L2P基地址)加上4*L而获得每个地址。形成L2P高速缓存区域300的每个4字节高速缓存行中的额外区域(即,除了其中存储26位物理地址的区域之外,整个4字节高速缓存行区域)被表示为“填充(pad)”。在以下的表中,额外部分被表示为“填充”。
[0076]此外,如图3中所示,以被存储在L2P高速缓存区域300中的每个高速缓存行的L值的顺序,将用作标记信息的值T记录在L2P高速缓存标记区域310中。每个表项包括其中存储标记信息的字段311,以及其中存储指示高速缓存行是否有效的VL(有效L2p)位的字段312。在此,配置L2P高速缓存标记区域310,以便作为标记信息被记录在L2P高速缓存标记区域310中的T与LBA的较高位匹配,该LBA对应于被存储在L2P高速缓存区域300内的对应高速缓存行(即,使用L引用的高速缓存行)中的物理地址。S卩,通过引用地址(该地址通过使L2P高速缓存标记区域310的基地址加上形成所需LBA的L值而获得),判定对应于所需LBA的较高位T的物理地址是否缓存在L2P高速缓存区域300中,以便判定被存储在被引用位置中的标记信息是否与形成所需LBA的T值相匹配。如果标记信息与T的值匹配,则信息处理设备确定缓存了对应于所需LBA的物理地址。如果标记信息与T的值未能匹配,则信息处理设备确定未缓存对应于所需LBA的物理地址。T是4-位值,并且VL位的容量为I位。因此,每个表项的容量为I字节。因此,L2P高速缓存标记区域310的大小为222乘以I字节,即,大小为4兆字节。
[0077]图5是不出与入尚速缓存标记区域410的存储结构的不意图。图6是不出与入尚速缓存区域400的存储结构的示意图。在此,使用LBA的较低13位的值引用写入高速缓存区域400。在以下描述中,LBA的较高13位的值被表示为T’。较低13位的值被表示为L’。
[0078]具有页大小的写入数据被存储在形成写入高速缓存区域400的单独高速缓存行中,如图6中所示。
[0079]写入高速缓存区域400包括213个高速缓存行。具有页大小(在此,4千字节)的写入数据被缓存在该高速缓存行中。因此,写入高速缓存区域400的总大小为213X4千字节,即,32兆字节。
[0080]此外,在写入高速缓存区域400中,以L’值的顺序存储对应的写入数据。S卩,通过引用地址(通过使写入高速缓存区域400的页地址(WC基地址)加上L’*8K而获得每个地址),读取形成写入高速缓存区域400的单独高速缓存行。
[0081]此外,如图5中所示,以被存储在写入高速缓存区域400中的每个高速缓存行的L’的顺序,将用作标记信息的T’记录在写入高速缓存标记区域410中。每个表项包括:字段411,其中存储标记信息;字段412,其中存储指示高速缓存行是否有效的有效缓冲器(VB)位;以及字段413,其中存储指示被缓存的写入数据是脏还是干净的脏缓冲器(DB)位。
[0082]配置写入高速缓存标记区域410,以便作为标记信息被记录在写入高速缓存标记区域410中的T’与分配给页(要在该页中存储被存储在写入高速缓存区域400内的对应高速缓存行(即,使用L’引用的高速缓存行)中的写入数据)的LBA的较高位T’相匹配。艮P,通过引用地址(该地址通过使写入高速缓存标记区域410的基地址(WC标记基地址)加上形成所需LBA的较高位T的L’值而获得),判定对应于所需LBA的写入数据是否缓存在写入高速缓存区域400中,以便判定被存储在被引用位置中的标记信息是否与形成所需LBA的T’值相匹配。
[0083]脏高速缓存行指这样的状态:其中被存储在该高速缓存行中的写入数据未能与被存储在NAND存储器210上的对应地址处的数据相匹配。干净高速缓存行指这样的状态:其中写入数据与被存储的数据相匹配。脏高速缓存行通过被写回到NAND存储器210而变干净。写入高速缓存标记区域410中的每条标记信息T’的数据长度为13位,并且每个DB位和VB位需要I位大小。因此,每个表项的容量为2字节。因此,写入高速缓存标记区域410的大小为213乘以2字节,即,大小为16千字节。
[0084]CPU 110执行OS和用户程序,并且基于来自其中任何一个程序的请求,生成写入命令以便将被存储在主机使用区域101中的数据写入到存储系统2。所生成的写入命令被发送到主机控制器120。
[0085]〈写入命令的数据结构的概要〉
[0086]图7是示出写入命令的数据结构的一个实例的示意图。如图7中所示,写入命令500包括:写入指令501,其指示命令500将为写入数据提供指令;主机使用区域101中的源地址502,在该地址处存储写入目标数据;第一目的地地址503,其指示要将写入数据写入到的地址;以及写入数据的数据长度504。第一目的地地址503被表示为LBA。
[0087]主机控制器主体部122经由总线适配器121接收CPU 110发送的写入命令500,并且读取均包含在接收的写入命令500中的源地址502和第一目的地地址503。然后,主机控制器主体部122经由设备连接适配器126,将被存储在源地址502处的数据和第一目的地地址503传输到存储系统2。
[0088]主机控制器主体部122可以利用主存储器DMA 123读取被存储在源地址502处的数据。此时,主机控制器主体部122在主机控制器主体部122中的缓冲器地址处设置源地址502和数据长度504以及目的地地址,并且激活主存储器DMA 123。
[0089]此外,主机控制器主体部122能够从CPU 110接收不同于写入命令500的各种命令。在此,主机控制器主体部122在命令队列中对接收的命令进行排队,并且以从前导命令开始的顺序,从命令队列获得处理目标命令。其中存储命令队列的数据结构的区域可以在主存储器100上受到保护,或者通过在主机控制器主体部122的内部或附近布置小型存储器或寄存器来配置。
[0090]此外,主机控制器主体部122与主存储器DMA 123、控制DMA 124及数据DMA 125的每一个之间的通信路径并不限于特定路径。例如,总线适配器121可以被用作通信路径,或者可以提供专用线路并且将其用作通信路径。
[0091]〈命令格式〉
[0092]现在,将参考图8描述根据本实施例的数据传输命令(也称为请求)的格式。图8是示出根据本实施例的数据传输命令的格式的一个实例的示意图。
[0093]如图8中所示,当用于向主机设备I发出数据传输请求时,数据传输命令(AccessUM Buffer (访问UM缓冲器))可以包含各种信息。具体地说,根据本实施例的数据传输命令(Access UM Buffer)可以包含标志信息(参见图8中的虚线部分)。
[0094]< 标志 >
[0095]现在,参考图9,将描述根据本实施例的数据传输命令(Access UM Buffer)中包含的标志。图9示出根据本实施例的数据传输命令(Access UM Buffer)中包含的标志的一个实例。
[0096]如图9中所示,根据本实施例的数据传输命令(Access UM Buffer)包含三种类型的标志:R、W和P。在从主机设备I接收到命令时,存储系统2在数据传输命令中设置这些
ll1、O
[0097][标志 R]
[0098]标志R指示后续操作将数据从主机设备I的主存储器100读取到存储系统2中。
[0099]具体地说,如果后续操作将数据从主机设备I读取到存储系统2中,则设置标志R。
[0100][标志 W]
[0101]标志W指示后续操作将数据从存储系统2写入到主机设备I的主存储器100中。
[0102]如果后续操作将数据从存储系统2写入到主机设备1,则设置标志W。
[0103][标志P]
[0104]标志P确定从存储系统2到主机设备I的后续数据输入序列(UM DATA IN)或者从主机设备I到存储系统2的后续输出序列(UM DATA OUT)的优先级。经由对应于选定优先级的端口执行每个序列。
[0105]具体地说,如果从存储系统2到主机设备I的数据输入序列(UM DATA IN)或者从主机设备I到存储系统2的输出序列(UM DATA OUT)的优先级高,则设置标志P。在识别到设置标志P时,主机设备I经由被设置为优先级I (高)的第二端口发送和接收数据。
[0106]如果从存储系统2到主机设备I的数据输入序列(UM DATA IN)或者从主机设备I到存储系统2的输出序列(UM DATA OUT)的优先级低,则清除标志P。因此,在识别到已清除标志P时,主机设备I经由具有优先级0(低)的第三端口发送和接收数据。
[0107]〈读取操作〉
[0108]现在,将参考图10描述在存储系统2从主机设备I读取数据的情况下,信息处理设备执行的操作的一个实例。图1OA是示出其中存储系统2经由第三端口接收数据的操作的示意图。图1OB是示出其中存储系统2经由第二端口接收数据的操作的示意图。
[0109]首先,将描述在以下情况下执行的操作:信息处理设备包括针对通信路径3的两个优先级设置(0,低优先级;1,高优先级),并且当请求
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1