CN107203335A - 存储系统及其操作方法 - Google Patents
存储系统及其操作方法 Download PDFInfo
- Publication number
- CN107203335A CN107203335A CN201610941297.0A CN201610941297A CN107203335A CN 107203335 A CN107203335 A CN 107203335A CN 201610941297 A CN201610941297 A CN 201610941297A CN 107203335 A CN107203335 A CN 107203335A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- memory part
- access module
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
Abstract
一种存储系统包括:第一存储器件,适用于通过串行接口输入和输出数据;第二存储器件,适用于通过并行接口输入和输出数据;以及控制器,适用于检测数据的访问模式,基于检测到的访问模式来选择第一存储器件和第二存储器件中的一个,以及控制选中的存储器件来存储数据。
Description
相关申请的交叉引用
本申请主张于2016年3月17日提交的韩国专利申请第10-2016-0031977号的优先权,其全部内容以引用的方式并入本文中。
技术领域
本发明的示例性实施例总体而言涉及一种包括多个存储器件的存储系统。
背景技术
存储系统被用于消费者或工业的各种电子器件中,例如,计算机、移动电话、携带型数字助理(PDA)、数字摄像头、游戏机和导航仪,并且被用作主存储器或辅助存储器。用于实施存储系统的存储器件包括:易失性存储器件,诸如动态随机存取存储器(DRAM)和静态RAM(SRAM);以及非易失性存储器件,诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)和快闪存储器。
非易失性存储器件优势在于相对于易失性存储器件集成度更高且消耗电力更少。然而,一般来说,比起易失性存储器件,非易失性存储器件具有较低的性能和耐擦写性。为了利用两种类型存储器件的优势,已经提出了混合存储系统。混合存储系统可以减少或消除两种类型的存储器件的缺点,并且可以通过使用备份存储器件来增强数据稳定性,即使在发生突然的电力中断时。但是,由于在所用的不同类型的存储器件的操作之间的冲突,混合存储系统的性能可能受损。因此,需要一种能够减少在混合存储系统中所用的各种存储器件之间的操作冲突的改善的混合存储系统。
发明内容
各实施例涉及一种存储系统及其操作方法,该存储系统被配置为检测通过多个接口从至少两个存储器件输入和输出的数据的访问模式,并基于检测到的访问模式管理在存储器件中存储的数据。
在一实施例中,一种存储系统可以包括:第一存储器件,适用于通过串行接口输入和输出数据;第二存储器件,适用于通过并行接口输入和输出数据;以及控制器,适用于检测数据的访问模式,基于检测到的访问模式来选择第一存储器件和第二存储器件中的一个,以及控制选中的存储器件来存储数据。
在另一实施例中,一种存储系统可以包括:第一存储器件,适用于通过串行接口输入和输出数据;第二存储器件,适用于通过并行接口输入和输出数据;以及控制器,适用于配置在第一存储器件和第二存储器件中存储的数据的地址映射信息,其中,控制器适用于在特定的时间帧中检测数据的访问模式,以及基于检测到的访问模式来对地址映射信息执行更新。
在另一实施例中,一种存储系统的操作方法可以包括:通过串行接口发送数据来将数据存储在第一存储器件中,通过并行接口发送数据来将数据存储在第二存储器件中;配置在第一存储器件和第二存储器件中存储的数据的地址映射信息;检测数据的访问模式;以及基于检测到的访问模式来对地址映射信息执行更新。
附图说明
通过结合以下附图详细描述本公开各实施例,本发明的上述和其他特征和优点对于本发明所属领域技术人员将变得更加明显。
图1是示意性示出根据本发明一实施例的存储系统的方框图。
图2是示出图1中的控制器的方框图。
图3是示出图2中的模式检测单元的操作的波形图。
图4是示出图2中的地址映射配置单元的操作的图示。
图5是示出根据本发明一实施例的存储系统的整体操作的流程图。
具体实施方式
下文将参照附图详细描述各实施例。但是,本发明可以以不同形式来实施并且不应理解为受限于本文所阐述的实施例。更确切地说,提供这些实施例使得本公开将彻底且完成,且能将本发明的范围充分地传达给本领域技术人员。在本公开全文中,贯穿本发明的各图和实施例,相同的附图标记指代相同的部分。
除非另有定义,本文中使用的包括技术术语和科学术语的所有术语具有与本发明所属领域一般技术人员通常所理解的含义一致的含义。还应进一步理解,术语,诸如在常用词典中所用的术语,应被理解为与其在说明书和相关技术的背景中的含义一致的含义,且不应以理想化或过于形式感的含义来理解,除非本文中明确如此定义。
本发明可以具有各种修改和实施例,并且,在本文中,选取这些实施例作为实例来描述本发明。但是,对于本领域技术人员显然地,所描述的实施例不限制本发明的范围。而且,本发明的实施例的构成元素应被理解为包括落入本发明范围内的所有修改、替代和等同物。
将理解,尽管本文中使用术语“第一”、“第二”、“第三”等术语来描述各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一个元件相区分。因此,在不偏离本发明精神和范围的前提下,下文描述的第一元件也可以被称作第二元件或第三元件。
还将理解,当一元件被称作“连接至”或“耦合至”另一元件时,其可以直接在该另一元件上、连接至或耦合至该另一元件,或者可能存在一个或多个中间元件。此外,还将理解,当一个元件被称作位于两个元件“之间”时,其可以是在该两个元件之间的唯一元件,或者还可以存在一个或多个中间元件。
本文中所用的术语仅是为了描述具体实施例的目的,并非限制本发明。如本文中所使用,单数形式也意在包括复数形式,除非上下文另有明确指示。还将理解,术语“包含/包括”在说明书中使用时表示所述元件的存在,但是不排除一个或多个其他元件的存在或添加。如本文中使用,术语“和/或”包括有关所列项目中的一个或多个的任何和所有组合。
在以下描述中,阐述众多具体细节以提供对于本发明的彻底理解。可以在无这些特定细节中的一些或全部的前提下实践本发明。在其他例子中,未详细描述熟知的工艺结构和/或工艺,以避免不必要地使本发明模糊。
在一些例子中,对于本领域一般技术人员显然地,结合具体实施例描述的元件可以单独使用或者与其他实施例组合使用,除非另有特别指示。
下文中将参照附图详细描述本发明各实施例。
图1是示意性示出根据本发明一实施例的存储系统100的方框图。
参见图1,存储系统100包括控制器110和第一存储器件120_1和第二存储器件120_2。还应注意,尽管在图1所示实施例中仅采用两个存储器件,但是在其他实施例中可以采用两个以上的存储器件。
存储系统100的控制器110可以将数据存储在第一存储器件120_1和第二存储器件120_2中,并管理所存储的数据。数据可以从主机130接收。所存储的数据也可以由主机130来访问。控制器110可以基于一个或多个主机接口协议来控制通过主机接口(I/F)130的与主机的数据交换。在一实施例中,控制器110可以基于单个主机接口协议来控制通过主机接口(I/F)130的与主机的数据交换。另外,控制器110可以通过第一存储器接口(I/F)140_1和第二存储器接口(I/F)140_2来将由主机访问的数据与第一存储器件120_1和第二存储器件120_2来交换。
第一存储器接口I/F 140_1可以是具有多个信号线的并行I/F,通过其来分别传输命令、地址和数据。第二I/F 140_2可以是串行的I/F,通过其将命令、地址和数据封包并传输。与并行I/F相比,串行I/F可以一次性传输大量数据,但是可能具有长的时延,因为其在传输封包之前和接收封包之后需要封包(packetization)/解封包(depacketization)操作。即,封包/解封包单元(未示出)可以被包括在与第二I/F 140_2的两端相对应的控制器110和第二存储器件120_2内。第二I/F 140_2可以包括高速串行I/F,诸如外围组件互连快速(PCIe)。
相应地,当在每个单位时间传输大量数据时,可以使用串行I/F来减少总体的数据处理时间。相比之下,当数据访问是由主机间歇地执行时,可以通过使用并行I/F减少时延来减少数据处理时间。根据本发明一实施例,可以通过主机检查数据访问模式并基于适于所检查的访问模式的I/F与存储器件交换数据来减少总体的数据处理时间。随后将参考附图更详细描述此操作。
存储系统110的第一存储器件120_1和第二存储器件120_2可以分别通过第一I/F140_1和第二I/F 140_2来与控制器110交换数据。
第一存储器件120_1和第二存储器件120_2可以是不同类型的存储器件。例如,其中一个可以是易失性存储器件,而另一个可以是非易失性存储器件。第一存储器件120_1可以包括被配置为基于并行I/F的第一I/F 140_1与控制器110交换数据的易失性存储器件。第二存储器件120_2可以包括被配置为基于串行I/F的第二I/F 140_2与控制器110交换数据的非易失性存储器件。例如,第二存储器件120_2可以包括快闪存储器和快闪存储器控制器。根据本发明一实施例,快闪存储器控制器可以包括用于对通过第二I/F 140_2输入和输出的数据封包/解封包的封包/解封包单元,但是本发明不限于此。在一实施例中,第二存储器件120_2可以包括RRAM、PCRAM、自旋转移力矩RAM(STT-RAM)等。
图2图示了图1中的控制器110的示例配置。参见图2,控制器110可以包括模式检测单元210和地址映射配置单元220。
控制器110可以将数据存储在第一存储器件120_1和第二存储器件120_2中(即写入操作)或响应于来自主机的请求而引用在存储器件120_1和120_2中存储的数据(即读取操作)。主机可以具有按顺序读取或写入数据的倾向。这也被称作数据的空间局部性。另外,主机可以具有在相对短时间内将曾经访问的数据再次访问的倾向。这也被称作数据的时间局部性。
根据本发明一实施例,控制器110的模式检测单元210可以检测由主机请求访问的数据的模式(下文中称作“访问模式”)。例如,当来自主机的访问操作是对与等于或大于阈值的连续地址对应的数据执行时,模式检测单元210可以检测对应数据的访问模式作为顺序访问。然而,当来自主机的访问操作是对与不连续地址对应的数据或与小于阈值的连续地址对应的数据执行时,模式检测单元210可以检测对应数据的访问模式作为非顺序访问。将参考图3更详细描述模式检测单元210的操作。
地址映射配置单元220可以将由主机引用的数据的逻辑地址LA映射为表示第一存储器件120_1和第二存储器件120_2中实际存储该数据的位置的物理地址PA,并管理所映射的地址。可以通过将数据的逻辑地址LA和与逻辑地址LA对应的物理地址PA存储在地址映射表2210中来执行此类映射。根据图2所示实施例,地址映射配置单元220还可以包括第一地址缓冲器2220和第二地址缓冲器2230。
控制器110可以将同一数据存储在第一存储器件120_1和第二存储器件120_2中,直至模式检测单元210检测到访问模式为止。在此情况中,地址映射配置单元220可以将数据的逻辑地址LA映射到第一存储器件120_1中的存储该数据的第一物理地址PA1,并将有关它们之间的映射关系的地址映射信息存储在第一地址缓冲器2220中。另外,地址映射配置单元220可以将数据的逻辑地址LA映射至第二存储器件120_2中的存储该数据的第二物理地址PA2,并将有关它们之间的映射关系的地址映射信息存储在第二地址缓冲器2230中。
另外,在模式检测单元210检测到对应数据的访问模式之后,地址映射配置单元220可以基于检测到的数据的访问模式来将分别在第一地址缓冲器2220和第二地址缓冲器2230中存储的地址映射信息更新,并最终将逻辑地址LA与物理地址PA的映射存储在地址映射表2210中。
当主机的访问操作被检测为非顺序访问时,可以通过基于并行I/F(即第一I/F140_1)处理数据来减少在第一存储器件120_1和第二存储器件120_2的每一个中的时延。因此,基于在第一地址缓冲器2220中存储的地址映射信息来更新地址映射表2210,使得在第一存储器件120_1中存储的数据可以继续通过第一I/F 140_1来访问。在此情况中,在第二地址缓冲器2230中存储的地址映射信息失效,使得在第二存储器件120_2中存储的数据不再被访问。相比之下,当主机的访问操作被检测为顺序访问时,可以基于串行I/F(即第二I/F 140_2)一次处理大量数据。相应地,基于在第二地址缓冲器2230中存储的地址映射信息来更新地址映射表2210,使得在第二存储器件120_2中存储的数据可以继续通过第二I/F140_2来访问。类似地,在第一地址缓冲器2220中存储的地址映射信息失效,使得在第一存储器件120_1中存储的数据不再被访问。然后,控制器110可以参考地址映射表2210而在主机与第一存储器件120_1和第二存储器件120_2之间处理数据。
图3是图2中的模式检测单元210的操作的波形图。
参见图3,提供响应于主机的访问操作来检测数据的访问模式的操作。图3中的X轴表示由主机访问的逻辑地址。
第一,模式检测单元210可以基于主机请求访问的数据的逻辑地址来检测访问模式。当主机访问特定大小的连续地址区域时,主机随后可能以相似模式访问该地址区域的可能性较大。相比之下,当主机执行短长度的访问操作时,随后可能以短模式来访问对应地址。相应地,当对具有等于或大于阈值k的大小的连续逻辑地址执行访问操作时,模式检测单元210可以将数据的访问模式确定为顺序访问。当对小于阈值k的逻辑地址执行访问操作时,模式检测单元210可以将数据的访问模式确定为非顺序访问。
频繁使用的数据可以从第一存储器件120_1和第二存储器件120_2复制并且可以被存储在控制器110的高速缓冲存储器(未示出)中。控制器110可以搜索高速缓冲存储器来寻找对应数据,当在高速缓冲存储器中找不到对应数据(即,高速缓冲未中)时将来自第一存储器件120_1和第二存储器件120_2的对应数据复制到高速缓冲存储器,并且使用在高速缓冲存储器中存储的数据。对第一存储器件120_1和第二存储器件120_2的此类访问可以间歇地发生,并且,对应数据可以具有与高速缓冲行对应的、低于阈值k的低带宽,并且可以以非顺序访问模式来检测。相比之下,用于管理在第一存储器件120_1和第二存储器件120_2内的特定区域(例如,存储块)并布置该区域的数据的数据复制、数据存储等是软件操作,并且对应数据可以具有高带宽并且可以以与连续逻辑地址对应的顺序访问模式来检测。
模式检测单元210的阈值k可以设置为大于用于复制到高速缓冲存储器的数据访问大小。图3示出阈值k已被设置为“7”的示例,但是本发明不限于此。
参见图3下侧的访问模式,主机访问从逻辑地址“0”到大于阈值k的逻辑地址“9”的连续地址区域。因此,模式检测单元210可以将此访问模式确定为顺序访问模式。地址映射配置单元220可以基于顺序访问模式而用在第二地址缓冲器2230中存储的地址映射信息来更新地址映射表2210,并且可以管理被更新的地址映射表2210。即,只有在第二存储器件120_2中存储的数据可以被保持和访问,而在第一存储器件120_1中存储的数据可以失效。
相比之下,参见图3上侧的访问模式,低于阈值k的逻辑地址区域“0”、“1”和“2”,或“7”和“8”被访问。模式检测单元210可以将此访问模式确定为非顺序访问模式。地址映射配置单元220可以基于非顺序访问模式而用在第一地址缓冲器2220中存储的地址映射信息来更新地址映射表2210,并且可以管理被更新的地址映射表2210。即,只有在第一存储器件120_1中存储的数据可以被保持和访问,而在第二存储器件120_2中存储的数据可以失效。
模式检测单元210可以分析对地址区域的访问模式,并积累分析结果,从而增加准确性。即,主机的初始访问模式可以具有相对低的准确性。相应地,在特定的时间帧期间,控制器110可以将同一数据存储在第一存储器件120_1和第二存储器件120_2中,且模式检测单元210可以保证用于分析在主机与第一存储器件120_1和第二存储器件120_2之间的数据通信所花费的时间。然后,地址映射配置单元220可以更新地址映射表2210。
图4图示图2中的地址映射配置单元220的操作。图4示出地址映射信息被存储在第一地址缓冲器2220和第二地址缓冲器2230中,且地址映射表2210用所存储的地址映射信息来更新。
参见图4,控制器110将同一数据存储在第一存储器件120_1和第二存储器件120_2中,直至模式检测单元210检测到访问模式为止。相应地,地址映射配置单元220将存储数据的第一存储器件120_1和第二存储器件120_2的地址映射信息分别存储在第一地址缓冲器2220和第二地址缓冲器2230中。图4示出与第一至第八逻辑地址LA_0至LA_7对应的数据已经被分别存储至第一存储器件120_1的第一至第八物理地址PA1_0至PA1_7以及第二存储器件120_2的第一至第八物理地址PA2_0至PA2_7。
然后,模式检测单元210可以在特定时间帧分析在主机与第一存储器件120_1和第二存储器件120_2之间的数据通信,并且因此可以检测与第一至第八逻辑地址LA_0至LA_7对应的数据的访问模式。例如,模式检测单元210可以检测到主机已对第一至第六逻辑地址LA_0至LA_5的区域执行了顺序访问,以及主机已对第七和第八逻辑地址LA_6和LA_7的区域执行了非顺序访问。
相应地,可以对由主机对其执行顺序访问的第一至第六逻辑地址LA_0至LA_5的区域执行基于串行I/F的数据交换,使得在该区域内的大量数据被一次处理以减少总的数据处理时间。结果,在第一存储器件120_1中存储的数据失效,而在第二存储器件120_2中存储的数据被访问。即,地址映射表2210用在第二地址缓冲器2230中存储的地址映射信息来更新。相应地,第一至第六逻辑地址LA_0至LA_5可以被映射至第二存储器件120_2的第一至第六物理地址PA2_0至PA2_5。
相比之下,可以对由主机对其执行非顺序访问的第七和第八逻辑地址LA_6和LA_7的区域执行基于并行I/F的数据交换,通过避免由串行化带来的系统开销(overhead)来减少时延。因此,在第一存储器件120_1中存储的数据被访问,而在第二存储器件120_2中存储的数据失效。即,地址映射表2210用在第一地址缓冲器2220中存储的地址映射信息来更新。相应地,第七和第八逻辑地址LA_6和LA_7可以被映射至第一存储器件120_1的第七和第八物理地址PA1_6和PA1_7。
下文将参考图5来描述图1至图4所述存储系统的总体操作。
图5示出根据本发明一实施例的存储系统的总体操作。
1)存储数据(S510)
第一,在步骤S510中,存储系统100的控制器110可以将由主机HOST访问的数据存储在存储器件120_1和120_2中。即,在由主机访问的数据的访问模式被检测到之前的初始操作中,控制器110将同一数据存储在第一存储器件120_1和第二存储器件120_2中。
2)配置地址映射(S520)
然后,在步骤S520中,控制器110的地址映射配置单元220配置关于在第一存储器件120_1和第二存储器件120_2中存储的数据的地址映射信息。即,地址映射配置单元220可以将关于在第一存储器件120_1中存储的数据的地址映射信息存储在第一地址缓冲器2220中,以及可以将关于在第二存储器件120_2中存储的数据的地址映射信息存储在第二地址缓冲器2230中。在此情况中,关于数据的地址映射信息可以使用在由主机访问的数据的逻辑地址与表示存储数据的位置的物理地址之间的映射关系来配置。
3)检测访问模式(S530和S540)
在步骤S530中,控制器110的模式检测单元210可以基于主机的访问操作来检测在第一存储器件120_1和第二存储器件120_2中存储的数据的访问模式。即,模式检测单元210基于由主机请求的数据的逻辑地址来判断主机是否访问特定值或更多的连续逻辑地址区域。当确定主机访问大于或等于阈值k(≥k)的连续逻辑地址区域时(在步骤S540中的“是”),模式检测单元210可以将访问模式确定为顺序访问。当确定主机访问小于阈值k(<k)的逻辑地址区域(在步骤S540中的“否”)时,模式检测单元210可以将访问模式确定为非顺序访问。
4)更新第一地址映射或第二地址映射(S550和S560)
当检测到非顺序访问模式时(步骤S540中的“否”),第一地址映射用对应数据来更新。即,在步骤S550中,地址映射表2210可以基于在第一地址缓冲器2220中存储的地址映射信息来更新。在此情况中,在第二地址缓冲器2230中存储的地址映射信息可以失效。相比之下,当检测到顺序访问模式时(步骤S540中的“是”),第二地址映射用对应数据来更新。即,地址映射表2210可以基于在第二地址缓冲器2230中存储的地址映射信息来更新,并且,在第一地址缓冲器2220中存储的地址映射信息可以失效。
如上所述,在通过串行I/F传输数据的情况下,如果在每单位时间内待传输数据的量较大,则可以通过高速传输数据来减少处理器的处理时间。但是,当间歇地进行需要短的待用时间的存储器访问时,由于封包/解封包导致的系统开销,与并行I/F相比,响应时间较慢,因此不能预期通过改善带宽来减少处理器的处理时间。相比之下,在通过并行I/F传输数据的情况下,由于最大吞吐量已经确定,因此在每单位时间内传输大量数据时可能存在性能瓶颈。
因此,根据本发明一实施例,提供一种表现出改善性能的混合存储系统。具体地,通过并行地采用两个存储器接口以及根据数据的特征访问模式来选择性地使用其中的一个或另一个来优化混合存储系统的性能。该两个存储器接口包括适用于具有相对高带宽或长时延的访问模式的I/F以及适用于具有相对低带宽或短时延的访问模式的I/F。即,可以管理数据的地址映射,使得根据由访问存储器件的主机所请求的数据的特性(即带宽或时延)、通过适宜的串行或并行I/F来处理数据。
根据前述实施例的存储系统,检测通过多个I/F输入到存储器件中和从存储器件输出的数据的访问模式,以及基于检测到的访问模式来管理数据的地址映射。相应地,可以通过使用适用于检测到的数据的访问模式的I/F处理数据,来减少存储系统的数据处理时间。
尽管已经出于说明性目的描述了各实施例,但是对于本领域技术人员显然地,在不偏离由所附权利要求限定的本发明的精神和范围的前提下,可以做出各种改变和修改。
Claims (20)
1.一种存储系统,包括:
第一存储器件,适用于通过串行接口输入和输出数据;
第二存储器件,适用于通过并行接口输入和输出数据;以及
控制器,适用于检测数据的访问模式,基于检测到的访问模式来选择第一存储器件和第二存储器件中的一个,以及控制选中的存储器件来存储数据。
2.根据权利要求1所述的存储系统,其中,控制器适用于:
当检查到主机对于大于或等于阈值的连续逻辑地址的访问时,将数据的访问模式检测为顺序访问模式;以及
当检查到主机对于小于阈值的连续逻辑地址或不连续逻辑地址的访问时,将数据的访问模式检测为非顺序访问模式。
3.根据权利要求2所述的存储系统,其中,控制器适用于:
当数据的访问模式被检测为顺序访问模式时,选择第一存储器件;以及
当数据的访问模式被检测为非顺序访问模式时,选择第二存储器件。
4.根据权利要求2所述的存储系统,其中,控制器包括:
第一地址缓冲器和第二地址缓冲器,适用于分别存储在第一存储器件和第二存储器件中存储的数据的地址映射信息;
模式检测单元,适用于检测数据的访问模式;以及
地址映射表,适用于基于由模式检测单元检测到的访问模式、用在第一地址缓冲器和第二地址缓冲器中存储的地址映射信息来更新。
5.根据权利要求4所述的存储系统,其中,当数据的访问模式被检测为顺序访问模式时,控制器适用于用在第一地址缓冲器中存储的地址映射信息来更新地址映射表,以及使在第二地址缓冲器中存储的地址映射信息失效。
6.根据权利要求4所述的存储系统,其中,当数据的访问模式被检测为非顺序访问模式时,控制器适用于用在第二地址缓冲器中存储的地址映射信息来更新地址映射表,以及使在第一地址缓冲器中存储的地址映射信息失效。
7.根据权利要求4所述的存储系统,其中,控制器适用于控制第一存储器件和第二存储器件二者来存储数据,直至模式检测单元检测到数据的访问模式为止。
8.根据权利要求1所述的存储系统,其中,控制器适用于:
在特定时间帧分析数据的访问模式;
积累分析结果;以及
检测数据的访问模式。
9.根据权利要求1所述的存储系统,其中,第一存储器件和第二存储器件分别包括非易失性存储器件和易失性存储器件。
10.根据权利要求1所述的存储系统,其中,控制器和第一存储器件适用于:
将待输出到串行接口的数据连同对应的命令和地址一同封包;以及
将从串行接口接收到的数据解封包。
11.一种存储系统,包括:
第一存储器件,适用于通过串行接口输入和输出数据;
第二存储器件,适用于通过并行接口输入和输出数据;以及
控制器,适用于配置在第一存储器件和第二存储器件中存储的数据的地址映射信息,其中,所述控制器适用于在特定时间帧检测数据的访问模式,以及基于检测到的访问模式来对地址映射信息执行更新。
12.根据权利要求11所述的存储系统,其中,控制器适用于:
当检查到主机对于大于或等于阈值的连续逻辑地址的访问时,将数据的访问模式检测为顺序访问模式;以及
当检查到主机对于小于阈值的连续逻辑地址或不连续逻辑地址的访问时,将数据的访问模式检测为非顺序访问模式。
13.根据权利要求12所述的存储系统,其中,控制器包括:
第一地址缓冲器和第二地址缓冲器,适用于分别存储在第一存储器件和第二存储器件中存储的数据的地址映射信息;
模式检测单元,适用于检测数据的访问模式;以及
地址映射表,适用于基于由模式检测单元检测到的访问模式、用在第一地址缓冲器和第二地址缓冲器中存储的地址映射信息来更新。
14.根据权利要求13所述的存储系统,其中,当数据的访问模式被检测为顺序访问模式时,控制器适用于用在第一地址缓冲器中存储的地址映射信息来更新地址映射表,以及使在第二地址缓冲器中存储的地址映射信息失效。
15.根据权利要求13所述的存储系统,其中,当数据的访问模式被检测为非顺序访问模式时,控制器适用于用在第二地址缓冲器中存储的地址映射信息来更新地址映射表,以及使在第一地址缓冲器中存储的数据的地址映射信息失效。
16.一种存储系统的操作方法,包括:
通过串行接口发送数据来将数据存储在第一存储器件中,通过并行接口发送数据来将数据存储在第二存储器件中;
配置在第一存储器件和第二存储器件中存储的数据的地址映射信息;
检测数据的访问模式;以及
基于检测到的访问模式来对地址映射信息执行更新。
17.根据权利要求16所述的操作方法,其中,检测数据的访问模式包括:
响应于对大于或等于阈值的连续逻辑地址的访问,将数据的访问模式检测为顺序访问模式;以及
响应于对低于阈值的连续逻辑地址或不连续逻辑地址的访问,将数据的访问模式检测为非顺序访问模式。
18.根据权利要求17所述的操作方法,其中,当数据的访问模式被检测为顺序访问模式时,基于检测到的访问模式对地址映射信息执行更新,包括:
对在第一存储器件中存储的数据的地址映射信息进行更新;以及
使在第二存储器件中存储的数据的地址映射信息失效。
19.根据权利要求17所述的操作方法,其中,当数据的访问模式被检测为非顺序访问模式时,基于检测到的访问模式对地址映射信息执行更新,包括:
对在第二存储器件中存储的数据的地址映射信息进行更新;以及
使在第一存储器件中存储的数据的地址映射信息失效。
20.根据权利要求17所述的操作方法,其中:
顺序访问模式包括用于将存储块的数据布置在第一存储器件和第二存储器件中的数据访问模式,以及
非顺序访问模式包括用于将来自第一存储器件和第二存储器件的数据复制到高速缓冲存储器的数据访问模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160031977A KR20170109108A (ko) | 2016-03-17 | 2016-03-17 | 메모리 장치를 포함하는 메모리 시스템 및 그의 동작 방법 |
KR10-2016-0031977 | 2016-03-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107203335A true CN107203335A (zh) | 2017-09-26 |
Family
ID=59855626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610941297.0A Pending CN107203335A (zh) | 2016-03-17 | 2016-10-25 | 存储系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170269875A1 (zh) |
KR (1) | KR20170109108A (zh) |
CN (1) | CN107203335A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111105724A (zh) * | 2019-11-30 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 智能存储系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180118355A (ko) * | 2017-04-21 | 2018-10-31 | 에스케이하이닉스 주식회사 | 통합된 직렬 및 병렬 인터페이싱을 수행하는 컴퓨팅 시스템 |
US10496542B1 (en) * | 2017-04-27 | 2019-12-03 | EMC IP Holding Company LLC | Input/output patterns and data pre-fetch |
US10140222B1 (en) | 2017-07-06 | 2018-11-27 | Micron Technology, Inc. | Interface components |
KR102120044B1 (ko) * | 2017-11-28 | 2020-06-09 | 현대오트론 주식회사 | 복수의 소프트웨어 레벨을 포함하는 컨트롤러 및 그 동작 방법 |
US11514004B2 (en) * | 2019-03-07 | 2022-11-29 | Salesforce.Com, Inc. | Providing a simple and flexible data access layer |
KR20210061544A (ko) * | 2019-11-20 | 2021-05-28 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
JP2023069701A (ja) * | 2021-11-08 | 2023-05-18 | 株式会社日立製作所 | データ制御装置、ストレージシステム、及びデータ制御方法 |
JP2023136816A (ja) | 2022-03-17 | 2023-09-29 | キオクシア株式会社 | メモリシステム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571981A (zh) * | 2002-08-08 | 2005-01-26 | 索尼株式会社 | 适配器装置 |
US20100082886A1 (en) * | 2008-10-01 | 2010-04-01 | University Of Seoul Industry Cooperation Foundation | Variable space page mapping method and apparatus for flash memory device |
CN102968498A (zh) * | 2012-12-05 | 2013-03-13 | 华为技术有限公司 | 数据处理方法及装置 |
CN103019958A (zh) * | 2012-10-31 | 2013-04-03 | 香港应用科技研究院有限公司 | 使用数据属性来管理固态存储器里的数据的方法 |
CN104156321A (zh) * | 2014-07-23 | 2014-11-19 | 华为技术有限公司 | 一种数据预取的方法以及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711797B1 (en) * | 2006-07-31 | 2010-05-04 | Juniper Networks, Inc. | Optimizing batch size for prefetching data over wide area networks |
US9319265B2 (en) * | 2013-02-22 | 2016-04-19 | Hitachi Data Systems Engineering UK Limited | Read ahead caching of data from cloud storage and method thereof |
-
2016
- 2016-03-17 KR KR1020160031977A patent/KR20170109108A/ko unknown
- 2016-08-12 US US15/236,226 patent/US20170269875A1/en not_active Abandoned
- 2016-10-25 CN CN201610941297.0A patent/CN107203335A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571981A (zh) * | 2002-08-08 | 2005-01-26 | 索尼株式会社 | 适配器装置 |
US20100082886A1 (en) * | 2008-10-01 | 2010-04-01 | University Of Seoul Industry Cooperation Foundation | Variable space page mapping method and apparatus for flash memory device |
CN103019958A (zh) * | 2012-10-31 | 2013-04-03 | 香港应用科技研究院有限公司 | 使用数据属性来管理固态存储器里的数据的方法 |
CN102968498A (zh) * | 2012-12-05 | 2013-03-13 | 华为技术有限公司 | 数据处理方法及装置 |
CN104156321A (zh) * | 2014-07-23 | 2014-11-19 | 华为技术有限公司 | 一种数据预取的方法以及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111105724A (zh) * | 2019-11-30 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 智能存储系统 |
Also Published As
Publication number | Publication date |
---|---|
US20170269875A1 (en) | 2017-09-21 |
KR20170109108A (ko) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203335A (zh) | 存储系统及其操作方法 | |
US20200136971A1 (en) | Hash-table lookup with controlled latency | |
US20160132237A1 (en) | Data storage device, data processing system and method of operation | |
US9639407B1 (en) | Systems and methods for efficiently implementing functional commands in a data processing system | |
CN109871340A (zh) | 对存储器装置执行训练的电子装置及其训练方法 | |
US20190108156A1 (en) | Interface circuit and packet transmission method thereof | |
CN107391397A (zh) | 支持近存储器和远存储器访问的存储器通道 | |
CN105930278A (zh) | 数据储存设备及其操作方法 | |
US9697111B2 (en) | Method of managing dynamic memory reallocation and device performing the method | |
CN105340017A (zh) | 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制 | |
US11422717B2 (en) | Memory addressing methods and associated controller, memory device and host | |
US11487473B2 (en) | Memory system | |
CN103365701A (zh) | 一种模拟读卡器的工作方法和模拟通信系统 | |
CN107153511A (zh) | 存储节点、混合存储器控制器及控制混合存储器组的方法 | |
US9690713B1 (en) | Systems and methods for effectively interacting with a flash memory | |
US20230027534A1 (en) | Detecting infinite loops in a programmable atomic transaction | |
US11288012B2 (en) | Memory system | |
CN109426623A (zh) | 一种读取数据的方法及装置 | |
US10372346B2 (en) | Extensible storage system controller | |
TWI564787B (zh) | 響應第二讀取請求之第一資料相關技術 | |
CN108958848A (zh) | 近存储器计算体系结构 | |
CN115525793A (zh) | 由计算机实现的方法、系统及存储介质 | |
US9720826B1 (en) | Systems and methods to distributively process a plurality of data sets stored on a plurality of memory modules | |
WO2013184855A1 (en) | Memory with bank-conflict-resolution (bcr) module including cache | |
US10474582B2 (en) | NAND flash storage device and methods using non-NAND storage cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170926 |