CN106030498B - 存储装置和数据处理方法以及存储系统 - Google Patents

存储装置和数据处理方法以及存储系统 Download PDF

Info

Publication number
CN106030498B
CN106030498B CN201480075672.7A CN201480075672A CN106030498B CN 106030498 B CN106030498 B CN 106030498B CN 201480075672 A CN201480075672 A CN 201480075672A CN 106030498 B CN106030498 B CN 106030498B
Authority
CN
China
Prior art keywords
data
retrieval
decompression
circuit
compressed
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.)
Active
Application number
CN201480075672.7A
Other languages
English (en)
Other versions
CN106030498A (zh
Inventor
黑川能毅
渡边聪
辻本芳孝
冈田光弘
铃木彬史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN106030498A publication Critical patent/CN106030498A/zh
Application granted granted Critical
Publication of CN106030498B publication Critical patent/CN106030498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

存储装置具有:多个快闪存储器,保存多个压缩数据;快闪控制器,控制相对于快闪存储器的数据的输入输出;数据缓冲器,临时保存压缩数据;管理控制器,基于检索请求而控制数据缓冲器和快闪控制器;数据解压引擎,包括对从数据缓冲器传送来的压缩数据并行地进行解压的多个数据解压电路;以及数据检索引擎,包括多个数据检索电路,其从利用各数据解压电路解压后的各数据中并行地检索满足检索条件的数据,将通过该各数据检索电路的检索而得到的数据传送至检索请求源,快闪控制器从快闪存储器并行地读出检索请求所请求的多个压缩数据并传送至数据缓冲器,每当在数据缓冲器中保存压缩数据时,管理控制器都将该压缩数据传送至数据解压引擎。

Description

存储装置和数据处理方法以及存储系统
技术领域
本发明涉及具有数据的存储功能及检索功能的存储装置和数据处理方法以及存储系统。
背景技术
作为具有数据的存储功能及检索功能的装置,例如存在如下装置,该装置构成为包括对目标数据进行保管的磁存储装置以及可再构建逻辑设备,可再构建逻辑设备接受利用了数据关键字的检索查询,当从磁存储介质读取目标数据时,判定目标数据与数据关键字之间的一致性(参照专利文献1)。由于该装置将磁存储介质用作存储介质,因此不足以使数据的输入输出处理实现高速化。
另一方面,近年来,提出了如下存储装置,该存储装置利用快闪存储器作为对数据进行存储的存储装置而使数据的输入输出处理实现高速化。在将快闪存储器用作存储介质的情况下,为了对大容量的数据进行保存而采用将压缩后的数据保存于快闪存储器的结构。
专利文献1:日本特表2007-524923号公报
发明内容
在将磁存储介质用作存储介质的情况下,为了从磁存储介质读出数据而需要循序地读出数据。与此相对,在将快闪存储器用作存储介质的情况下,由于能够从快闪存储器并行地读出数据,所以能够使数据的读出速度实现高速化。
在将保存于快闪存储器的数据作为检索对象数据而进行处理的情况下,为了使数据的读出速度实现高速化,从快闪存储器并行地读出数据(压缩数据),并且将读出的数据(压缩数据)临时保持于数据缓冲器(临时存储装置),然后对保持于数据缓冲器的数据(压缩数据)进行解压,执行对解压后的数据进行检索的处理。此时,即使从快闪存储器并行地读出数据(压缩数据),若数据的解压、检索处理并未实现高速化,则也无法迅速地处理从快闪存储器读出的数据,由此从快闪存储器读出数据的处理成为瓶颈。
本发明的目的在于提供能够防止从快闪存储器读出数据的处理成为瓶颈的存储装置和数据处理方法以及存储系统。
为了解决所述课题,本发明的特征在于,具有:多个快闪存储器,其保存多个压缩数据;快闪控制器,其对相对于所述快闪存储器的数据的输入输出进行控制;数据缓冲器,其临时保存压缩数据;管理控制器,其基于来自检索请求源的检索请求,对相对于所述数据缓冲器的数据的输入输出进行控制;数据解压引擎,其包括多个数据解压电路,该多个数据解压电路对从所述数据缓冲器传送来的压缩数据并行地进行解压;以及数据检索引擎,其包括多个数据检索电路,该多个数据检索电路从利用各所述数据解压电路解压后的数据中并行地检索满足所述检索请求所请求的检索条件的数据,该数据检索引擎将通过该各数据检索电路的检索而得到的数据传送至所述检索请求源,所述快闪控制器从两个以上的快闪存储器并行地读出属于检索源数据的多个压缩数据并传送至所述数据缓冲器,每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至所述数据解压引擎。
发明效果
根据本发明,能够防止从快闪存储器读出数据的处理成为瓶颈。
附图说明
图1是带数据库辅助功能的存储装置的整体结构图。
图2是数据库页大小寄存器的结构图。
图3是用于说明逻辑/物理地址管理表的结构的说明图。
图4是数据解压引擎与数据检索引擎的结构图。
图5是数据解压电路的结构说明图。
图6是数据库数据检索电路的结构说明图。
图7是数据一致比较电路的结构说明图。
图8是数据截取电路的结构说明图。
图9是数据库页格式的结构。
图10是用于利用数据库页格式来说明比较数据的读出处理的说明图。
图11是用于利用数据库页格式来说明对数据库的页数据与比较关键字进行比较的次序的说明图。
图12是用于利用数据库页格式来说明数据的截取次序的说明图。
图13是用于说明压缩数据的并行读出的说明图。
图14是表示带数据库辅助功能的存储装置的实施例2的整体结构图。
图15是数据库页大小表的结构图。
图16是包括带数据库辅助功能的存储装置的存储系统的结构图。
具体实施方式
(实施例1)
以下,基于附图对本发明的一个实施例进行说明。
图1是带数据库辅助功能的存储装置的整体结构图。在图1中,存储装置100与主机CPU(Central Processing Unit:中央处理器)101、以及主机主存储设备102一并配置于主板(未图示)上。
存储装置100构成为包括主机接口(主机I/F)103、数据DMA(Direct MemoryAccess:直接内存存取)电路104、管理CPU105、逻辑/物理地址管理表106、数据缓冲器(DRAM)107、多个快闪控制器108、多个快闪存储器109、多个数据解压电路110、多个数据检索电路111、检索结果输出缓冲器/DMA电路112、数据库(DB)页大小寄存器113以及数据压缩电路114。
主机CPU101是具备存储器、输入输出接口等信息处理资源的主计算机,例如是数据库应用程序进行动作的中央运算处理装置。主机CPU101向存储装置100发出指定了由存储装置100提供的逻辑卷(逻辑地址)的访问请求、例如写请求、或者读请求或检索请求,由此能够访问该逻辑卷。此时,主机CPU101构成为访问请求源或者检索请求源,与主机主存储设备102进行信息的交接,并且经由主机接口103而与存储装置100进行信息的交接。主机主存储设备102构成为供数据库应用程序进行动作的主存储区域。
主机接口103是将存储装置100与主机CPU101连接的接口,且成为在主机CPU101使用存储装置100的辅助功能时的接口。
数据DMA电路104与主机接口103、管理CPU105以及数据缓冲器107进行信息的交接,例如当主机CPU101发出数据的读请求或者写入请求时,经由主机接口103而与主机主存储设备102进行数据的交接。此时,数据DMA电路104将保存于主机主存储设备102的读取数据读出,并且将从数据缓冲器107读出的写入数据传送至主存储装置102。
管理CPU105构成为管理控制器,其对数据DMA电路104、各快闪控制器108以及各数据解压电路110的启动进行控制,并且利用逻辑/物理地址管理表106对各快闪控制器108的读/写动作进行管理,而且对相对于数据缓冲器107的数据的输入输出进行控制。
逻辑/物理地址管理表106是用于对由数据库应用程序管理的数据库的页数据的逻辑地址、与表示页数据的实际保存区域的物理地址(快闪存储器区块地址)之间的关系进行管理的表。当管理CPU105从主机CPU101接收到读请求、或者写请求或检索请求时,在将附加于读请求、或者写请求或检索请求的逻辑地址转换为物理地址时使用该逻辑/物理地址管理表106。
数据缓冲器107构成为用于临时存储从快闪存储器109读出的压缩数据、用于保存于快闪存储器109的压缩数据的存储区域。
各快闪控制器108与数据缓冲器107进行数据的交接,并且控制相对于各快闪存储器109的数据的输入输出。
各快闪存储器109构成为具有成为数据的存储区域的多个区块的、区块写入擦除型的存储装置。针对各快闪存储器109,以区块为单位进行数据的写入,并且以区块为单位进行数据的擦除。针对各快闪存储器109的数据的写入或者数据的擦除是由管理CPU105管理的。另外,以每页为单位将对如下的数据进行压缩而得到的压缩数据保存于快闪存储器109的各区块,即,在数据压缩前的数据大小以数据库的页单位进行管理的数据,例如在将页单位设为8KB的情况下利用8KB以下的容量进行管理的数据。
数据库页大小寄存器113是作为由主机CPU101设定的信息而存储与数据库的页大小相关的信息的寄存器。此外,该数据库页大小寄存器113还能够对附加于从主机CPU101发出的检索请求的信息、例如检索关键字、比较关键字、检索条件等进行存储。
在将数据写入快闪存储器109时使用数据压缩电路114,该数据压缩电路114对在数据缓冲器107中临时保管的数据进行压缩处理,并经由快闪控制器108而将压缩后的数据写入快闪存储器109。此时,使用DB页大小寄存器113的值而决定数据的压缩单位的大小并进行数据压缩。通过进行使用了该DB页大小寄存器113的值的压缩,此后在读出数据时的数据解压电路110能够进行DB页单位的解压。
各数据解压电路110从数据缓冲器107获取压缩数据,并根据保存于数据库页大小寄存器113的信息而对获取到的压缩数据进行解压。即,各数据解压电路110利用数据压缩电路114进行压缩的单位且为与页单位相当的解压单位(解压单位=页单位)对压缩数据进行解压,并将解压后的数据作为以页为单位的数据而传送至各数据检索电路111。
各数据检索电路111将从各数据解压电路110传送来的解压后的数据且为以页为单位的数据作为检索对象数据,并根据保存于数据库页大小寄存器113的检索条件而对检索对象数据进行检索,从以页为单位的数据中检索满足检索条件的数据,并将其检索结果传送至检索结果输出缓冲器/DMA电路112。此外,还能够在与数据库页大小寄存器113不同的寄存器中保持附加于由主机CPU101发出的检索请求(请求)的检索条件等信息。
检索结果输出缓冲器/DMA电路112执行DMA动作,该DMA动作用于对各数据检索电路111的检索结果进行汇总,将汇总后的内容经由主机接口103传送至主机主存储设备102,并将由主机CPU101对动作的数据库应用程序执行处理的处理结果传送至主机主存储设备102。
首先,对将数据库的数据写入快闪存储器109的动作进行说明。在开始针对存储装置100的写入处理之前,主机CPU101经由主机接口103而在数据库页大小寄存器113中设定由数据库应用程序管理的数据库的页大小的信息。管理CPU105在接收到来自主机CPU101的写入请求的情况下,将接下来接收的数据库的数据保存于数据缓冲器107。利用数据压缩电路114对保存的数据库页数据进行压缩,并对各快闪控制器108发出写入指示,从而将压缩后的数据写入快闪存储器109。此时,数据压缩电路是按照在数据库页大小寄存器113中设定的页容量的大小来划分且进行压缩保存的。压缩保存后的数据在读出时成为解压成在数据库页大小寄存器中设定的页大小的数据。
接下来对使用前述的压缩数据的检索动作进行说明。在开始针对存储装置100进行检索处理之前,主机CPU101经由主机接口103在数据库页大小寄存器113中设定由数据库应用程序管理的数据库的页大小的信息,然后经由主机接口103、数据DMA电路104将包含逻辑地址、检索条件等在内的检索请求(请求)发送至管理CPU105。此时,主机CPU101还能够在数据库页大小寄存器113中对附加于检索请求的信息例如检索关键字、比较关键字、检索条件等进行设定。
管理CPU105在接收到来自主机CPU101的检索请求的情况下,使各快闪控制器108启动,对各快闪控制器108指示对属于由检索请求所请求的检索源数据的多个压缩数据的读出。各快闪控制器108根据来自管理CPU105的指示而将属于检索源数据的多个压缩数据从多个快闪存储器109中的两个以上的快闪存储器109的区块并行地读出,并将读出的数据传送至数据缓冲器107,将各压缩数据按顺序依次保存于数据缓冲器107。
此后,每当从各快闪存储器109的各区块读出的各压缩数据保存于数据缓冲器107时,与读出顺序无关地,管理CPU105依次将保存于数据缓冲器107的各压缩数据传送至某一个数据解压电路110。各数据解压电路110以解压单位对从数据缓冲器107传送来的压缩数据进行解压,并将解压后的数据作为以页为单位的数据而依次传送至数据检索电路111。各数据检索电路111将从各数据解压电路110传送来的解压后的数据且为以页为单位的数据作为检索对象数据,并根据检索条件而检索与检索对象对应的数据,将针对以页为单位的数据的检索结果传送至检索结果输出缓冲器/DMA电路112。检索结果输出缓冲器/DMA电路112对各数据检索电路111的检索结果进行汇总,并经由主机接口103而将汇总后的内容传送至主机主存储设备102。
保存于快闪存储器109的各区块中的压缩数据的压缩前的大小为数据库的页单位,由于将各数据解压电路110的解压单位设定为与数据库的页单位相当的单位,所以当利用各数据解压电路110对属于检索源数据的各压缩数据进行解压时,即使按照不同的顺序从数据缓冲器107读出压缩数据,也能够按照压缩数据的读出完毕的顺序而执行针对读出后的压缩数据的解压处理,并能够将解压后的数据且为以页为单位的数据作为检索对象数据来进行处理。因此,即使从数据缓冲器107按照不同的顺序将属于检索源数据的各压缩数据读出,也能够使针对读出后的压缩数据的解压处理实现高速化,并且,即使将解压后的数据作为检索对象数据,也能够将以页为单位的数据作为检索对象数据,从而能够使针对检索对象数据的检索处理实现高速化。
图2是数据库页大小寄存器的结构图。在图2中,数据库页大小寄存器113构成为对由主机CPU101设定的设定值201进行保存的寄存器。例如在主机CPU101作为数据库的页大小而设定8KB的情况下,8KB的值作为表示数据库的页大小即表示以页为单位的信息(与页单位相当的解压单位的信息)而保存于设定值201中。另外,在数据库页大小寄存器113中还保存有检索请求所包含的检索条件等信息。此时,数据库页大小寄存器113构成第一寄存器和第二寄存器,该第一寄存器对由主机CPU101(检索请求源)设定的信息且为与页单位相当的解压单位的信息进行保存,该第二寄存器对附加于来自主机CPU101(检索请求源)的检索请求的信息且为表示按照检索请求而请求的检索条件的信息进行保存。
图3是用于说明逻辑/物理地址管理表的结构的说明图。在图3中,逻辑/物理地址管理表106由逻辑地址字段301与快闪存储器区块地址字段302构成,并保存于由管理CPU105管理的存储器(未图示)。
逻辑地址是用于识别数据库的页数据303的地址,在逻辑地址字段301中保存有与用于识别数据库的页数据303的标识符相关的信息(A1~A4、……)。此外,页数据303例如作为以页为单位的数据而以8KB以下的大小构成。
快闪存储器区块地址是用于识别快闪存储器109中所形成的区块(数据保存区域)305~308的地址。快闪存储器区块地址字段302中保存有与用于识别快闪存储器109的区块305~308的区块地址相关的信息(B1-1、B2-1、B2-2、B2-3、……)。
另一方面,在快闪存储器109的各区块305~308中,以每页单位保存有将在数据压缩前的数据大小是以页为单位进行管理的数据进行压缩而得到的压缩数据。例如,逻辑地址为A1的页数据303与逻辑地址为A2的页数据303分别被保存于快闪存储器109的区块305中。另外,逻辑地址为A3的页数据303保存在区块306中,逻辑地址为A4的页数据303保存在区块308中。即,禁止跨越区块306和区块307来保存逻辑地址A3的页数据303、或者跨越区块307和区块308来保存逻辑地址A4的页数据303。这是为了防止在快闪存储器109特有的操作即回收(Reclamation)动作中数据管理变得繁琐而导致性能下降。此外,能够在各区块305~308中以每页为单位保存数据库的页数据303的整数倍的压缩数据。
图4是数据解压引擎与数据检索引擎的结构图。在图4中,数据解压引擎由多个数据解压电路110构成,数据检索引擎由多个数据检索电路111、以及检索结果输出缓冲器/DMA电路112构成。
各数据解压电路110具备压缩数据缓冲器401,该压缩数据缓冲器401用于临时保存从数据缓冲器107传送来的压缩数据。压缩数据缓冲器401能够保存1页或多页大小的将页数据303进行压缩而得到的压缩数据。因此,即使从数据缓冲器107将多个压缩数据并行地读出,也能够将各压缩数据依次保存于各压缩数据缓冲器401中,从而能够防止数据缓冲器107成为瓶颈。另外,当对压缩数据进行解压时,各数据解压电路110判定附加于解压后的数据的多个校验码例如页眉校验码部与页脚校验码部之间有无匹配性,并以具有匹配性为条件而将解压后的数据传送至各数据检索电路111,在不具有匹配性的情况下,禁止解压后的数据的传送。
各数据检索电路111具备数据库(DB)页缓冲器402,该数据库(DB)页缓冲器402以每页为单位对利用各数据解压电路110解压后的以页为单位的数据进行保存。各数据检索电路111将保存于数据库页缓冲器402中的以页为单位的数据作为检索对象数据,从检索对象数据中检索满足检索条件的数据,并将通过检索所获得的数据作为检索结果而传送至检索结果输出缓冲器/DMA电路112。
检索结果输出缓冲器/DMA电路112具备对各数据库检索电路111的检索结果进行保存的检索结果缓冲器403,并且具备将在各检索结果缓冲器403中保存的内容获取并进行保存的DMA缓冲器404。利用DMA从DMA缓冲器404经由主机接口103而将保存于DMA缓冲器404中的检索结果的内容发送至主机主存储设备102。
图5是数据解压电路的结构说明图。在图5中,数据解压电路110由压缩数据缓冲器401、压缩数据解压电路501以及校验码确认电路502构成,压缩数据解压电路501与数据库页大小寄存器113和压缩数据缓冲器401连接,校验码确认电路502与数据检索电路111的数据库页缓冲器402连接。
在从压缩数据缓冲器401传送来解压单位的压缩数据的情况下,压缩数据解压电路501根据在数据库页大小寄存器113中设定的页单位而对压缩数据进行解压,并将解压后的数据作为以页为单位的数据而进行处理。该压缩数据解压电路501是对可逆压缩数据进行解压的电路,作为压缩方式,能够使用LZ方式。
校验码确认电路502对解压后的数据的匹配性进行确认,在数据具有匹配性即结果为真的情况下,将该结果附加于解压后的数据而传送至数据库缓冲器402。此时,如后所述,校验码确认电路502对由数据库页格式规定的数据库页的页眉校验码部与页脚校验码部的匹配性进行确认。
图6是数据检索电路的结构说明图。在图6中,数据检索电路111是对数据库的数据进行检索的电路,该数据检索电路111由数据库页缓冲器402、数据一致比较电路601、数据一致结果缓冲器602以及数据截取电路603构成,数据一致比较电路601与数据库页缓冲器402和数据库页大小寄存器113连接,数据截取电路603与数据库页缓冲器402、数据库页大小寄存器113以及检索结果输出缓冲器/DMA电路112的检索结果缓冲器403连接。
数据一致比较电路601从数据库页缓冲器402获取解压后的数据且为以页为单位的数据来作为检索对象数据,并从数据库页大小寄存器113获取附加于检索请求的检索关键字的信息,按每1行参照检索对象数据并针对每一行判断检索对象数据中是否存在与检索关键字一致的数据,在各行的数据中存在一致的数据的情况下,将一致的数据保存于数据一致结果缓冲器602。
数据截取电路603从数据库页缓冲器402获取以页为单位的数据即检索对象数据,并且从数据库页大小寄存器113获取检索关键字的信息,进而参照在数据一致结果缓冲器602中保存的各行数据,从各行数据中截取与检索关键字一致的那列数据,并将截取出的那列数据作为检索结果的数据而传送至检索结果缓冲器403。
图7是数据一致比较电路的结构说明图。在图7中,数据一致比较电路601由比较数据截取电路701、截取位置寄存器702、比较关键字寄存器703、比较关键字选择电路704、比较器705、关键字一致存储寄存器706、比较关键字逻辑寄存器707以及逻辑运算电路708构成,比较数据截取电路701与数据库页大小寄存器113以及数据库页缓冲器402连接,逻辑运算电路708与数据检索电路111的数据一致结果缓冲器602连接。
在图7中,在截取位置寄存器702中保存有数据库的数据且以页为单位管理的数据(数据库数据)中的应截取的比较对象部分的位置的信息(截取位置的信息)。比较数据截取电路701从数据库页大小寄存器113获取以页为单位的设定值,并且从数据库页缓冲器402获取解压后的数据且为以页为单位的数据来作为检索对象数据,从以页为单位的检索对象数据中截取在截取位置寄存器702中设定的比较对象部分的数据且存在于各行的比较对象列部分的数据,并将截取出的数据传送至比较器705。
另一方面,在比较关键字寄存器703中保存有附加于检索请求的信息中的比较关键字(数据关键字)、和比较条件(一致、大小等)的信息进行保存。比较关键字选择电路704从比较关键字寄存器703选择在比较器705中使用的比较关键字、比较条件等,并将选择出的比较关键字、比较条件的信息传送至比较器705。
比较器705对从比较数据截取电路701传送来的数据(存在于各行的比较对象列部分的数据)、与从比较关键字选择电路704传送来的比较关键字以及比较条件进行比较,在存在于各行的比较对象列部分的数据中,将与比较关键字一致且满足比较条件的数据作为比较结果的数据而保存于关键字一致存储寄存器706。
在比较关键字逻辑寄存器707中保存有在逻辑运算电路708中所使用的逻辑表达式的信息,例如AND(与)、OR(或)等信息。逻辑运算电路708获取在关键字一致存储寄存器706中保存的数据,利用在比较关键字逻辑寄存器707中保存的逻辑表达式进行逻辑运算,从在关键字一致存储寄存器706中保存的数据中提取满足逻辑表达式的数据,并将提取出的数据作为表示一致的比较结果的数据而传送至数据一致结果缓冲器602。
图8是数据截取电路的结构说明图。在图8中,数据截取电路603由数据读出电路801、截取位置寄存器802以及数据位置排列(填位)电路803构成,数据读出电路801与数据库页大小寄存器113、数据库页缓冲器402以及数据一致结果缓冲器602连接,数据位置排列电路803与检索结果输出缓冲器/DMA电路112的检索结果缓冲器403连接。
在图8中,在截取位置寄存器802中保存有表示在数据读出电路801中所使用的数据的截取位置的信息。数据读出电路801从数据库页大小寄存器113获取表示以页为单位的设定值201的信息,并且从数据库页缓冲器402获取解压后的数据且为以页为单位的数据,进而从数据检索电路111的数据一致结果缓冲器602获取表示数据一致比较电路601的比较结果的数据(命中的数据,且是表示一致的比较结果的数据),在从数据一致结果缓冲器602获取的数据中,读出在利用截取位置寄存器802设定的数据的截取位置的数据,并将读出的数据传送至数据位置排列电路803。数据位置排列电路803针对从数据读出电路801传送的数据,根据利用截取位置寄存器802设定的数据的截取位置而依次进行数据的位置排列,并将位置排列后的数据作为检索结果的数据而传送至检索结果缓冲器403。
图9是数据库页格式的结构图。在图9中,数据库页格式是对用于将以页为单位的数据例如8KB以下的容量的数据(数据库的页数据303)保存于数据库页901中的构造进行规定的格式。数据库页901由数据库页眉902、第一行数据903、第二行数据904、……、数据库页脚905、第一行指针906、第二行指针907、……构成。
第一行数据903由行首908、列1数据909、列2数据910、……、最终列数据911构成。数据库页眉902由页眉校验码部912以及页眉其他信息913构成。数据库页脚905由页脚校验码部914以及页脚其他信息915构成。
图10是用于利用数据库页格式来说明比较数据的读出处理的说明图。在图10中,在读出以页为单位的数据的情况下,数据检索电路111例如利用在作为与数据库页脚905相邻的行指针的第一行指针906、第二行指针907中保存的地址,来对行首的位置进行计算,将该计算值与保存于截取位置寄存器702中的各列的偏移量(表示各列的截取位置的地址)相加,根据相加得到的值对读出目的地的地址进行计算,并针对由计算出的读出目的地的地址确定出的列数据按照每行进行读取。
例如,数据检索电路111将保存于第一行指针906的地址、与保存于截取位置寄存器702的第一列截取位置的偏移量相加,根据相加得到的值对读出目的地的地址进行计算,从而作为由计算出的读出目的地的地址确定出的数据而读出1行1列数据1002。另外,数据检索电路111将保存于第一行指针906的地址、与保存于截取位置寄存器702的第二列截取位置的偏移量相加,根据相加得到的值对读出目的地的地址进行计算,从而作为由计算出的读出目的地的地址确定的数据而读出1行2列数据1003。
图11是用于利用数据库页格式来说明对数据库的页数据与比较关键字进行比较的次序的说明图。在图11中,当通过比较数据读出处理而在将各行的列数据读出之后对读出的数据(数据库的页数据303)与比较关键字进行比较,在该情况下,数据检索电路111例如对1行1列数据1002、与保存于比较关键字寄存器703的1列比较关键字进行比较,在二者的内容一致的情况下、或者在1行1列数据1002中存在符合比较关键字的数据的情况下,利用保存于比较关键字逻辑寄存器707的逻辑表达式对1行1列数据1002进行逻辑运算。
接下来,数据检索电路111在1行1列数据1002中存在满足逻辑表达式的数据的情况下判定为一致,并将1行1列数据1002传送至数据一致结果缓冲器602。数据检索电路111针对每列分别进行该处理,并将各列的比较结果传送至数据一致结果缓冲器602。
图12是用于利用数据库页格式来说明数据的截取次序的说明图。在图12中,在判定为在数据库的页数据中存在的数据中的第一行1列的数据中有满足检索条件的数据的情况下,数据检索电路111执行用于将1行第二列的数据读出的处理。此时,数据检索电路111将保存于第一行指针906的地址、与保存于截取位置寄存器802的表示第二列截取位置的地址相加,计算出表示数据的读出目的地的开始地址,作为由计算出的地址确定出的数据而读出1行2列数据1003的数据,并将读出的数据作为从数据一致结果缓冲器602截取的数据来进行处理。
通过反复执行图10至图12所示的处理,能够从数据库的页数据303且为以页为单位的数据中读出符合检索条件的各行各列的数据。
图13是用于说明压缩数据的并行读出的说明图。在图13中,在3个快闪存储器109的区块305、306、310中分别保存有压缩后的数据大小不同的压缩数据1、2、3的情况下,向数据缓冲器107并行读出压缩数据1、2、3是与压缩后的数据大小无关地,针对压缩数据1、2、3同时开始进行读出处理。
此时,压缩数据1、2、3分别通过快闪控制器108被依次保存于数据缓冲器107的数据保存区域1304、1305、1306。就压缩后的数据大小而言,压缩数据1最大,其次是压缩数据2较大,压缩数据3最小。因此,在将压缩数据3全部保存于数据保存区域1306之后,将压缩数据2全部保存于数据保存区域1305,然后,将压缩数据1全部保存于数据保存区域1304。即,按照压缩后的数据大小从小到大的顺序将压缩数据保存于各数据保存区域。
此时,压缩后的数据大小不同,因此,即使快闪控制器108从各快闪存储器109并行地读出压缩数据1、2、3,直至将各压缩数据1、2、3全部都保存于数据缓冲器107为止所需的时间也不同。在此,管理CPU105按照读出至数据缓冲器107的压缩数据的到达顺序(压缩数据全部被保存的顺序)依次将压缩数据传送至某一个数据解压电路110,将被传送了压缩数据的各数据解压电路110启动。
管理CPU105监视包含以页为单位的数据在内的压缩数据是否全部都保存在数据缓冲器107的各数据保存区域1304、1305、1306的某一个中,以在某一个数据保存区域中保存了包含以页为单位的数据在内的全部压缩数据为条件,将保存有包含以页为单位的数据在内的全部压缩数据的数据保存区域内的压缩数据传送至某一个数据解压电路110,将被传送了压缩数据的各数据解压电路110启动。
例如,管理CPU105首先将数据保存区域1306内的压缩数据3传送至数据解压电路110,然后,将数据保存区域1305内的压缩数据2传送至数据解压电路110,最后将数据保存区域1304内的压缩数据1传送至数据解压电路110。各数据解压电路110对传送来的压缩数据进行解压,并将解压后的数据作为以页为单位的数据而传送至数据检索电路111。
像这样,在将压缩后的数据大小不同的多个压缩数据1、2、3并行地读出并保存于数据缓冲器107,并利用各数据解压电路110按照解压单位对保存于数据缓冲器107的各压缩数据1、2、3进行解压时,由于在数据缓冲器107中保存有包含以页为单位的数据在内的压缩数据,所以即使不判定在数据缓冲器107中是否聚齐了成为检索对象的数据且为检索单位的数据而将保存于数据缓冲器107的压缩数据按顺序传送至数据解压电路110,通过在数据解压电路110中以解压单位对传送来的压缩数据进行解压,也能够将解压后的数据作为以页为单位的数据而传送至数据检索电路111,并且,在数据检索电路111中,能够将以页为单位的数据作为检索对象的数据,即将以页为单位的数据作为检索对象数据且为检索单位的数据来对检索对象数据执行检索。
根据本实施例,将从快闪存储器109并行地读出至数据缓冲器107的压缩数据取入至各数据解压电路110,利用各数据解压电路110并行地对压缩数据进行解压,并利用各数据检索电路111并行地对解压后的数据进行检索,因此,能够防止从快闪存储器109读出压缩数据的处理成为瓶颈,作为结果,能够使针对由检索请求而请求的数据进行的数据解压、检索处理实现高速化。另外,将对压缩前的数据大小为页单位的数据进行压缩而得到的压缩数据作为检索源数据并以每页为单位保存于快闪存储器109,当从快闪存储器109读出由检索请求而请求的数据时,从快闪存储器109并行地将压缩数据读出至数据缓冲器107,各数据解压电路110以与页单位相当的解压单位对各读出的压缩数据进行解压,并以页为单位对解压后的数据进行管理,各数据检索电路111以页为单位的数据对检索对象数据进行管理,因此,无需判定在数据缓冲器107中是否聚齐了成为检索对象的数据,从而能够使针对由检索请求而请求的数据进行的数据解压检索处理进一步实现高速化。即,由于将各数据解压电路110的解压单位设定为与数据库的页单位相当的单位,所以当利用各数据解压电路110对属于检索源数据的各压缩数据进行解压时,即使从数据缓冲器107按照不同的顺序读出压缩数据,也能够按照压缩数据的读出完毕的顺序对所读出的压缩数据执行解压处理,从而能够将解压后的数据且为以页为单位的数据作为检索对象数据来进行处理,即使从数据缓冲器107按照不同的顺序读出属于检索源数据的各压缩数据,也能够使针对读出的压缩数据的解压处理以及针对检索对象的数据的检索处理进一步实现高速化。
另外,根据本实施例,以每页为单位而将页数据303保存于各快闪存储器109的区块305~308,并未跨越多个区块地对页数据303进行保存,因此,在快闪存储器109所特有的操作即回收动作中,能够防止数据管理变得繁琐而导致性能下降的情况。
(实施例2)
图14是表示带数据库辅助功能的存储装置的实施例2的整体结构图。在图14中,本实施例的存储装置100追加了数据库页大小表1401,其他结构与实施例1相同。此外,将页大小(页单位)不同的多个压缩数据保存于各快闪存储器109的区块。
在图14中,数据库页大小表1401是存储与数据库的页大小相关的信息的表,并且是使由逻辑/物理地址管理表106管理的逻辑地址的区域(区域地址)、与在数据库页大小寄存器113中设定的页大小建立关联地进行管理的表。在数据库页大小表1401记录的信息由管理CPU105管理,在处理数据时使用数据解压电路110、数据检索电路111以及数据压缩电路114。
图15是数据库页大小表的结构图。在图15中,数据库页大小表1401是记录有附加于来自主机CPU101的检索请求的确定检索源数据的保存目的地的区域地址、和与不同的页单位对应的多种页大小之间的关系的容量表,该数据库页大小表1401由区域地址字段1501以及数据库页大小字段1502构成。
区域地址是附加于检索请求的、确定检索源数据的保存目的地的标识符。在区域地址字段1501的各项1503、1505、1507中保存有表示区域地址的信息(A、B、C、……)。数据库页大小是确定数据库的页大小的信息。在该数据库页大小字段1502的各项1504、1506、1508中作为与数据库容量相关的信息而保存有例如“8KB”的信息。通过针对多个数据的基础大小划分区域来进行设定,即使是在多个数据库中页大小不同的情况下,也能够进行并行动作。
例如,对由检索请求而请求的检索源数据是由多个区域地址A、B指定的数据的情况进行说明。
设定有在写入数据时由主机CPU101确定检索源数据的保存目的地的区域地址、和与不同的页单位对应的多种页大小之间的关系,在这些区域中利用数据压缩电路114对数据库数据进行压缩,并经由快闪控制器108而保存于快闪存储器109。此时,由于根据数据库页大小表1401的设定而在划分为在区域中设定的容量大小之后进行压缩,所以在执行检索时能够以该容量大小为单位而进行数据的解压。
在执行检索时,管理CPU105参照数据库页大小表1401而对各快闪控制器108指示对利用区域地址A、B确定出的检索源数据进行读出,各快闪控制器108参照数据库页大小表1401而从各快闪存储器109并行读出属于利用区域地址A、B确定的检索源数据的压缩数据且为页大小(页单位)不同的多个压缩数据,例如读出8KB的压缩数据和16KB的压缩数据,并将它们传送至数据缓冲器107。
管理CPU105在确认了8KB的压缩数据和16KB的压缩数据分别被保存于数据缓冲器107之后,将8KB的压缩数据和16KB的压缩数据传送至各数据解压电路110。各数据解压电路110参照数据库页大小表1401而使得页大小=解压单位,一方的数据解压电路110以8KB的解压单位对8KB的压缩数据进行解压,并将解压后的数据作为8KB的数据而传送至数据检索电路111,另一方的数据解压电路1110以16KB的解压单位对16KB的压缩数据进行解压,并将解压后的数据作为16KB的数据而传送至数据检索电路111。各数据检索电路111参照数据库页大小表1401而使得页大小=检索单位,一方的数据检索电路111将8KB的数据作为检索对象数据来执行针对检索对象数据的检索,另一方的数据检索电路111将16KB的数据作为检索对象数据来执行针对检索对象数据的检索。
根据本实施例,能够发挥与实施例1相同的效果,并且,通过划分区域来设定多种数据的基础大小,即使在多个数据库的页大小不同的情况下,也能够并行地执行针对由检索请求而请求的数据进行的数据解压检索处理。
(实施例3)
图16是包括带数据库辅助功能的存储装置在内的存储系统的结构图。在图16中,存储系统经由网络接口1601以及网络1602将存储装置100和主机CPU101连接,存储装置100的结构与实施例2相同。
在本实施例中,即使在存储装置100经由网络1602、网络接口1601而与主机CPU101连接的情况下,也能够根据在数据库页大小寄存器111或者数据库页大小表1401中记录的页大小的信息而执行数据的解压处理以及数据检索处理。
根据本实施例,即使在存储装置100经由网络1602、网络接口1601而与主机CPU101连接的情况下,也能够发挥与实施例1及实施例2相同的效果。
此外,本发明并不限定于上述实施例,其包含各种各样的变形例。例如,也能够使用如下控制器,该控制器是具有管理CPU105以及各快闪控制器108的功能且对存储装置100的整体进行统一控制的控制器,其对相对于数据缓冲器107和各快闪存储器109的数据输入输出进行控制。另外,为了使本发明容易理解而对上述实施例进行了详细说明,但并不一定限定于具备以上说明的全部结构的实施例。另外,能够将某实施例的结构的一部分替换为其他实施例的结构,另外,还能够对某实施例的结构追加其他实施例的结构。另外,对于各实施例的结构的一部分,能够进行其他结构的追加、删除、替换。
另外,上述各结构、功能、处理部、处理单元等的一部分或全部例如可以通过在集成电路中进行设计等而由硬件实现。另外,上述各结构、功能等也可以通过处理器编译、执行用于实现各功能的程序而由软件实现。用于实现各功能的程序、表、文件等信息能够预先记录于存储器、硬盘、SSD(Solid State Drive:固态硬盘)等记录装置、或者IC(IntegratedCircuit:集成电路)卡、SD(Secure Digital:安全数字)存储卡、DVD(Digital VersatileDisc:数字多功能光盘)等记录介质。
附图标记说明
100 存储装置
101 主机CPU
102 主机主存储设备
103 主机接口
104 数据DMA电路
105 管理CPU
106 逻辑/物理地址管理表
107 数据缓冲器
108 快闪控制器
109 快闪存储器
110 数据解压电路
111 数据检索电路
112 检索结果输出缓冲器/输出DMA电路
113 数据库页大小寄存器
114 数据压缩电路
201 数据库页大小寄存器
301 逻辑地址项
302 快闪存储器区块地址项
303 数据库页数据
304 快闪存储器
305 保存有两个逻辑地址数据的快闪存储器内区块
306 将1个逻辑地址数据保存于两个区块的情况下的快闪存储器内区块
307 将两个逻辑地址数据保存于1个区块的情况下的快闪存储器内区块
308 将1个逻辑地址数据保存于两个区块的情况下的快闪存储器内区块
401 压缩数据缓冲器
402 数据库页缓冲器
403 检索结果缓冲器
404 结果DMA缓冲器
501 压缩数据解压电路
502 校验码确认电路
601 数据一致比较电路
602 数据一致结果缓冲器
603 数据截取电路
701 比较数据截取电路
702 截取位置寄存器
703 比较关键字寄存器
704 比较关键字选择电路
705 比较器
706 关键字一致存储寄存器
707 比较关键字逻辑寄存器
708 逻辑运算电路
801 数据读出电路
802 截取位置寄存器
803 数据位置排列电路
901 数据库页
902 数据库页眉
903 第一行数据
904 第二行数据
905 数据库页脚
906 第一行指针
907 第二行指针
908 行首
909 列1数据
910 列2数据
911 最终列数据
912 页眉校验码部
913 页眉其他信息
914 页脚校验码部
915 页脚其他信息
1001 第一行行首
1002 1行1列数据
1003 1行2列数据
1004 1行n列数据
1005 第二行行首
1006 2行1列数据
1007 2行2列数据
1008 2行n列数据
1009 第一列截取位置寄存器
1010 第二列截取位置寄存器
310 快闪存储器内压缩数据之3
1304 向数据缓冲器读出的压缩数据之1
1305 向数据缓冲器读出的压缩数据之2
1306 向数据缓冲器读出的压缩数据之3
1401 数据库页大小表。

Claims (15)

1.一种存储装置,其特征在于,
具有:
多个快闪存储器,其保存多个压缩数据;
快闪控制器,其对相对于所述快闪存储器的数据的输入输出进行控制;
数据缓冲器,其临时保存由所述快闪控制器从所述快闪存储器读出的压缩数据;
管理控制器,其基于来自检索请求源的检索请求,对相对于所述数据缓冲器的数据的输入输出进行控制,并且对所述快闪控制器的启动进行控制;
数据解压引擎,其包括多个数据解压电路,向该多个数据解压电路依次输入从所述数据缓冲器传送来的压缩数据,该多个数据解压电路对各输入的所述压缩数据并行地进行解压;以及
数据检索引擎,其包括多个数据检索电路,该多个数据检索电路从利用各所述数据解压电路解压后的各数据中并行地检索满足所述检索请求所请求的检索条件的数据,所述数据检索引擎将通过该各数据检索电路的检索而得到的数据传送至所述检索请求源,
所述管理控制器指示所述快闪控制器进行来自所述检索请求源的检索请求所请求的检索源数据的读出,然后,每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至所述数据解压引擎,
所述快闪控制器根据来自所述管理控制器的指示而从所述多个快闪存储器中的两个以上的快闪存储器并行地读出属于所述检索源数据的多个压缩数据,并传送至所述数据缓冲器。
2.根据权利要求1所述的存储装置,其特征在于,
各所述数据解压电路以与数据库的页单位相当的解压单位对所输入的所述压缩数据进行解压,
各所述数据检索电路从利用各所述数据解压电路解压后的各解压单位的数据中检索满足所述检索请求所请求的检索条件的数据,
每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
3.根据权利要求1所述的存储装置,其特征在于,
具有容量表,该容量表记录有附加于所述检索请求的、确定所述检索源数据的保存目的地的区域地址、和与数据库的不同的页单位对应的多种页大小之间的关系,
各所述数据解压电路以与在所述容量表中记录的某一种页大小相当的解压单位对所输入的所述压缩数据进行解压,
各所述数据检索电路将利用各所述数据解压电路解压后的各解压单位的数据作为与在所述容量表中记录的某一种页大小相当的检索单位的数据,而从各检索单位的数据中检索满足所述检索请求所请求的检索条件的数据,
每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
4.根据权利要求1所述的存储装置,其特征在于,
具有:
第一寄存器,其保存由所述检索请求源设定的信息且为与数据库的页单位相当的解压单位的信息;以及
第二寄存器,其保存附加于来自所述检索请求源的检索请求的信息且为表示所述检索请求所请求的检索条件的信息,
所述数据解压引擎具有能够保存两个以上从所述数据缓冲器传送来的压缩数据的压缩数据缓冲器,
各所述数据解压电路以与在所述第一寄存器中保存的所述页单位相当的解压单位对保存于所述压缩数据缓冲器的压缩数据进行解压,
各所述数据检索电路从利用各所述数据解压电路解压后的各解压单位的数据中检索满足在所述第二寄存器中保存的检索条件的数据,
所述数据检索引擎包括检索结果输出电路,该检索结果输出电路将各所述数据检索电路的检索结果汇总保存,并将该汇总保存的内容传送至所述检索请求源,
每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
5.根据权利要求1~4中任一项所述的存储装置,其特征在于,
各所述快闪存储器具有保存数据的多个区块,在各所述区块中,针对将数据压缩前的数据大小是以数据库的页单位来管理的数据进行压缩而得到的压缩数据,按照每个所述页单位来进行保存。
6.一种数据处理方法,是在存储装置中处理数据的方法,该存储装置具有:
多个快闪存储器,其保持多个压缩数据;
快闪控制器,其对相对于所述快闪存储器的数据的输入输出进行控制;
数据缓冲器,其临时保存由所述快闪控制器从所述快闪存储器读出的压缩数据;
管理控制器,其基于来自检索请求源的检索请求,对相对于所述数据缓冲器的数据的输入输出进行控制,并且对所述快闪控制器的启动进行控制;
数据解压引擎,其包括多个数据解压电路,向该多个数据解压电路依次输入从所述数据缓冲器传送来的压缩数据,该多个数据解压电路对各输入的所述压缩数据并行地进行解压;以及
数据检索引擎,其包括多个数据检索电路,该多个数据检索电路从利用各所述数据解压电路解压后的各数据中并行地检索满足所述检索请求所请求的检索条件的数据,所述数据检索引擎将通过该各数据检索电路的检索而得到的数据传送至所述检索请求源,
所述数据处理方法根据来自所述检索请求源的检索请求来对数据进行处理,
所述数据处理方法的特征在于,具有:
第一步骤,所述管理控制器指示所述快闪控制器进行来自所述检索请求源的检索请求所请求的检索源数据的读出;
第二步骤,所述快闪控制器根据来自所述管理控制器的指示而从所述多个快闪存储器中的两个以上的快闪存储器并行地读出属于所述检索源数据的多个压缩数据,并传送至所述数据缓冲器;以及
第三步骤,每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至所述数据解压引擎。
7.根据权利要求6所述的数据处理方法,其特征在于,
各所述数据解压电路以与数据库的页单位相当的解压单位对所输入的所述压缩数据进行解压,
各所述数据检索电路从利用各所述数据解压电路解压后的各解压单位的数据中检索满足所述检索请求所请求的检索条件的数据,
在所述第三步骤中,每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
8.根据权利要求6所述的数据处理方法,其特征在于,
具有容量表,该容量表记录有附加于所述检索请求的、确定所述检索源数据的保存目的地的区域地址、和与数据库的不同的页单位对应的多种页大小之间的关系,
各所述数据解压电路以与在所述容量表中记录的某一种页大小相当的解压单位对所输入的所述压缩数据进行解压,
各所述数据检索电路将利用各所述数据解压电路解压后的各解压单位的数据作为与在所述容量表中记录的某一种页大小相当的检索单位的数据,而从各检索单位的数据中检索满足所述检索请求所请求的检索条件的数据,
在所述第三步骤中,每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
9.根据权利要求6所述的数据处理方法,其特征在于,
所述存储装置具有:
第一寄存器,其保存由所述检索请求源设定的信息且为与数据库的页单位相当的解压单位的信息;以及
第二寄存器,其保存附加于来自所述检索请求源的检索请求的信息且为表示所述检索请求所请求的检索条件的信息,
所述数据解压引擎具有能够保存两个以上从所述数据缓冲器传送来的压缩数据的压缩数据缓冲器,
各所述数据解压电路以与在所述第一寄存器中保存的所述页单位相当的解压单位对保存于所述压缩数据缓冲器的压缩数据进行解压,
各所述数据检索电路从利用各所述数据解压电路解压后的各解压单位的数据中检索满足在所述第二寄存器中保存的检索条件的数据,
所述数据检索引擎包括检索结果输出电路,该检索结果输出电路将各所述数据检索电路的检索结果汇总保存,并将该汇总保存的内容传送至所述检索请求源,
在所述第三步骤中,每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
10.根据权利要求6~9中任一项所述的数据处理方法,其特征在于,
各所述快闪存储器具有保存数据的多个区块,在各所述区块中,针对将数据压缩前的数据大小是以数据库的页单位来管理的数据进行压缩而得到的压缩数据,按照每个所述页单位来进行保存。
11.一种存储系统,其具有:
主计算机,其发出检索请求;以及
存储装置,其经由网络与所述主计算机连接,并经由所述网络与所述主计算机之间进行信息的交接,
所述存储系统的特征在于,
所述存储装置具有:
多个快闪存储器,其保存多个压缩数据;
快闪控制器,其对相对于所述快闪存储器的数据的输入输出进行控制;
数据缓冲器,其临时保存由所述快闪控制器从所述快闪存储器读出的压缩数据;
管理控制器,其基于来自所述主计算机的检索请求,对相对于所述数据缓冲器的数据的输入输出进行控制,并且对所述快闪控制器的启动进行控制;
数据解压引擎,其包括多个数据解压电路,向该多个数据解压电路依次输入从所述数据缓冲器传送来的压缩数据,该多个数据解压电路对各输入的所述压缩数据并行地进行解压;以及
数据检索引擎,其包括多个数据检索电路,该多个数据检索电路从利用各所述数据解压电路解压后的各数据中并行地检索满足所述检索请求所请求的检索条件的数据,所述数据检索引擎将通过该各数据检索电路的检索而得到的数据传送至所述主计算机,
所述管理控制器指示所述快闪控制器进行来自所述主计算机的检索请求所请求的检索源数据的读出,然后,每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至所述数据解压引擎,
所述快闪控制器根据来自所述管理控制器的指示而从所述多个快闪存储器中的两个以上的快闪存储器并行地读出属于所述检索源数据的多个压缩数据,并传送至所述数据缓冲器。
12.根据权利要求11所述的存储系统,其特征在于,
各所述数据解压电路以与数据库的页单位相当的解压单位对所输入的所述压缩数据进行解压,
各所述数据检索电路从利用各所述数据解压电路解压后的各解压单位的数据中检索满足所述检索请求所请求的检索条件的数据,
每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
13.根据权利要求11所述的存储系统,其特征在于,
具有容量表,该容量表记录有附加于所述检索请求的、确定所述检索源数据的保存目的地的区域地址、和与数据库的不同的页单位对应的多种页大小之间的关系,
各所述数据解压电路以与在所述容量表中记录的某一种页大小相当的解压单位对所输入的所述压缩数据进行解压,
各所述数据检索电路将利用各所述数据解压电路解压后的各解压单位的数据作为与在所述容量表中记录的某一种页大小相当的检索单位的数据,而从各检索单位的数据中检索满足所述检索请求所请求的检索条件的数据,
每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
14.根据权利要求11所述的存储系统,其特征在于,
具有:
第一寄存器,其保存由所述主计算机设定的信息且为与数据库的页单位相当的解压单位的信息;以及
第二寄存器,其保存附加于来自所述主计算机的检索请求的信息且为表示按照所述检索请求所请求的检索条件的信息,
所述数据解压引擎具有能够保存两个以上从所述数据缓冲器传送来的压缩数据的压缩数据缓冲器,
各所述数据解压电路以与在所述第一寄存器中保存的所述页单位相当的解压单位对保存于所述压缩数据缓冲器的压缩数据进行解压,
各所述数据检索电路从利用各所述数据解压电路解压后的各解压单位的数据中检索满足在所述第二寄存器中保存的检索条件的数据,
所述数据检索引擎包括检索结果输出电路,该检索结果输出电路将各所述数据检索电路的检索结果汇总保存,并将该汇总保存的内容传送至所述主计算机,
每当在所述数据缓冲器中保存属于所述检索源数据的压缩数据时,所述管理控制器都将该压缩数据传送至某一个所述数据解压电路。
15.根据权利要求11~14中任一项所述的存储系统,其特征在于,
各所述快闪存储器具有保存数据的多个区块,在各所述区块中,针对将数据压缩前的数据大小是以数据库的页单位来管理的数据进行压缩而得到的压缩数据,按照每个所述页单位来进行保存。
CN201480075672.7A 2014-03-27 2014-03-27 存储装置和数据处理方法以及存储系统 Active CN106030498B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/058771 WO2015145647A1 (ja) 2014-03-27 2014-03-27 ストレージ装置とデータ処理方法及びストレージシステム

Publications (2)

Publication Number Publication Date
CN106030498A CN106030498A (zh) 2016-10-12
CN106030498B true CN106030498B (zh) 2019-03-08

Family

ID=54194243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480075672.7A Active CN106030498B (zh) 2014-03-27 2014-03-27 存储装置和数据处理方法以及存储系统

Country Status (3)

Country Link
US (1) US10552044B2 (zh)
CN (1) CN106030498B (zh)
WO (1) WO2015145647A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126091A1 (ja) * 2016-01-21 2017-07-27 株式会社日立製作所 記憶装置及びその制御方法並びに記憶装置を備えたストレージシステム
JP6530553B2 (ja) * 2016-03-07 2019-06-12 株式会社日立製作所 計算機及びデータベース管理方法
US10055358B2 (en) * 2016-03-18 2018-08-21 Oracle International Corporation Run length encoding aware direct memory access filtering engine for scratchpad enabled multicore processors
WO2018061161A1 (ja) * 2016-09-29 2018-04-05 株式会社日立製作所 ストレージ装置およびその制御方法
IT201700010342A1 (it) * 2017-01-31 2018-07-31 St Microelectronics Srl Dispositivo mems includente un attuatore piezoelettrico con un volume ridotto
JPWO2018179243A1 (ja) * 2017-03-30 2019-06-27 株式会社日立製作所 情報処理装置及び方法
US10628325B2 (en) * 2018-05-10 2020-04-21 Sap Se Storage of data structures in non-volatile memory
KR102659832B1 (ko) * 2019-03-05 2024-04-22 삼성전자주식회사 데이터 저장 장치 및 시스템
US11538546B2 (en) * 2019-12-16 2022-12-27 Micron Technology, Inc. Data compression for global column repair
JP7197541B2 (ja) * 2020-04-01 2022-12-27 株式会社日立製作所 ストレージ装置
KR102592785B1 (ko) * 2021-06-02 2023-10-23 네이버 주식회사 개별 데이터 검색 서비스를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
CN113408989B (zh) * 2021-06-29 2024-04-02 奇瑞汽车股份有限公司 汽车数据的比对方法、装置及计算机存储介质
CN113626092A (zh) * 2021-10-14 2021-11-09 广州匠芯创科技有限公司 嵌入式系统启动方法与soc芯片
CN115098456B (zh) * 2022-08-25 2023-02-03 北京探境科技有限公司 文件处理方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812457A (en) * 1996-09-09 1998-09-22 Sony Corporation Semiconductor NAND type flash memory with incremental step pulse programming
CN101727293A (zh) * 2008-10-23 2010-06-09 成都市华为赛门铁克科技有限公司 一种固态硬盘ssd存储的设置方法、装置和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03270416A (ja) * 1990-03-20 1991-12-02 Fujitsu Ltd データ圧縮および復元方式
US5357614A (en) * 1992-09-17 1994-10-18 Rexon/Tecmar, Inc. Data compression controller
JPH08314957A (ja) * 1995-05-18 1996-11-29 Mitsubishi Electric Corp データベースシステム
GB9605473D0 (en) * 1996-03-15 1996-05-15 Int Computers Ltd Parallel searching technique
JP2000339842A (ja) * 1999-05-28 2000-12-08 Nec Ibaraki Ltd 磁気テープ制御装置
US8095508B2 (en) 2000-04-07 2012-01-10 Washington University Intelligent data storage and processing using FPGA devices
US6728704B2 (en) * 2001-08-27 2004-04-27 Verity, Inc. Method and apparatus for merging result lists from multiple search engines
JP4522640B2 (ja) * 2002-03-29 2010-08-11 株式会社メガチップス データ転送システムおよびデータ転送方法
JP2006526227A (ja) 2003-05-23 2006-11-16 ワシントン ユニヴァーシティー Fpgaデバイスを使用するインテリジェントデータ記憶および処理
US6903668B1 (en) * 2003-11-18 2005-06-07 M-Systems Flash Disk Pioneers Ltd. Decompression accelerator for flash memory
US7827346B2 (en) * 2006-08-14 2010-11-02 Plankton Technologies, Llc Data storage device
US7599972B2 (en) * 2006-08-25 2009-10-06 Qnx Software Systems Gmbh & Co. Kg File system having variable logical storage block size
KR100926475B1 (ko) * 2006-12-11 2009-11-12 삼성전자주식회사 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
US7525842B2 (en) * 2007-01-25 2009-04-28 Micron Technology, Inc. Increased NAND flash memory read throughput
WO2009153687A1 (en) * 2008-06-18 2009-12-23 Petascan Ltd Distributed hardware-based data querying
US8838577B2 (en) * 2012-07-24 2014-09-16 International Business Machines Corporation Accelerated row decompression

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812457A (en) * 1996-09-09 1998-09-22 Sony Corporation Semiconductor NAND type flash memory with incremental step pulse programming
CN101727293A (zh) * 2008-10-23 2010-06-09 成都市华为赛门铁克科技有限公司 一种固态硬盘ssd存储的设置方法、装置和系统

Also Published As

Publication number Publication date
WO2015145647A1 (ja) 2015-10-01
CN106030498A (zh) 2016-10-12
US10552044B2 (en) 2020-02-04
US20170017395A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
CN106030498B (zh) 存储装置和数据处理方法以及存储系统
CN109085997B (zh) 用于非易失性存储器的存储器高效持续键值储存
US10635359B2 (en) Managing cache compression in data storage systems
CN105103137B (zh) 数据存储系统的数据的压缩和格式化
CN104298610B (zh) 资料储存系统及其管理方法
CN103098035B (zh) 存储系统
CN105474186B (zh) 硬件管理的压缩的高速缓存
CN105117351B (zh) 向缓存写入数据的方法及装置
CN104238962B (zh) 向缓存中写入数据的方法及装置
CN109800185B (zh) 一种数据存储系统中的数据缓存方法
EP3316150B1 (en) Method and apparatus for file compaction in key-value storage system
KR20090026296A (ko) 예측 데이터 로더
CN103797470A (zh) 存储系统
CN105843551A (zh) 高性能和大容量储存重复删除中的数据完整性和损耗电阻
US11455122B2 (en) Storage system and data compression method for storage system
WO2017132797A1 (zh) 数据整理方法、存储设备、存储控制器以及存储阵列
US20150378745A1 (en) Data processing method during boot procedure of smart device and smart device
CN101271428A (zh) 一种对象数据存储管理的装置和方法
CN109213423B (zh) 基于地址屏障无锁处理并发io命令
CN111625531B (zh) 基于可编程装置的合并装置、数据合并方法及数据库系统
US8452900B2 (en) Dynamic compression of an I/O data block
CN109408416B (zh) 一种地址映射表项页管理方法及装置
US11327929B2 (en) Method and system for reduced data movement compression using in-storage computing and a customized file system
US20140320498A1 (en) Terminal device, information processing method, and computer program product
US20240070120A1 (en) Data processing method and apparatus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant