CN103678200A - 数据处理装置、处理数据的方法和计算机可读记录介质 - Google Patents
数据处理装置、处理数据的方法和计算机可读记录介质 Download PDFInfo
- Publication number
- CN103678200A CN103678200A CN201310386145.5A CN201310386145A CN103678200A CN 103678200 A CN103678200 A CN 103678200A CN 201310386145 A CN201310386145 A CN 201310386145A CN 103678200 A CN103678200 A CN 103678200A
- Authority
- CN
- China
- Prior art keywords
- data
- memory device
- decompress
- ion
- compression
- 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
- 238000000034 method Methods 0.000 title claims description 40
- 230000006835 compression Effects 0.000 claims description 64
- 238000007906 compression Methods 0.000 claims description 64
- 230000006837 decompression Effects 0.000 claims description 42
- 230000001052 transient effect Effects 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 241001269238 Data Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- 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/0608—Saving storage space on storage systems
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- 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/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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/0656—Data buffering arrangements
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)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种数据处理装置,其包括:第一存储设备,其在其中存储压缩的数据;第二存储设备,其访问和暂时存储第一存储设备中存储的压缩的数据;数据解压器,其通过对压缩的数据进行解压来生成解压的数据并将解压的数据输出到第二存储设备,从而解压的数据被暂时存储在第二存储设备中;以及控制器,其访问暂时存储在第二存储设备中的解压的数据。数据解压器基于页面缓存的地址将解压的数据直接分散到页面缓存中。因此,程序和数据处理装置的操作速度能够被提高。
Description
相关申请的交叉引用
本申请要求于2012年8月31日提交到韩国知识产权局的韩国专利申请第10-2012-0096332号的优先权,其公开通过引用结合于此。
技术领域
本发明涉及数据处理装置、用于处理数据的方法、和记录了用来执行该方法的程序的计算机可读记录介质,更具体地,涉及能够有效地解压第一存储设备中存储的压缩的数据并将所解压的数据存储在第二存储设备中的数据处理装置、用于处理数据的方法、和记录了用来执行该方法的程序的计算机可读记录介质。
背景技术
在虚拟内存和请求页面类型的操作系统(例如,LinuX、MS Windows、等等)中,执行代码和数据(例如,用户界面的图片像素、或字体数据)以压缩的形式被存储在第一存储设备中。如果根据用户命令要求了执行代码和数据,则存储在第一存储设备中的压缩的数据被解压并存储在第二存储设备中,并且中央处理单元(CPU)通过访问存储在第二存储设备中的解压的数据依照用户命令执行任务。
具体地,将参考图1描述相关技术中用于对压缩的数据进行解压的方法。图1是示出相关技术中用于处理数据的软件配置的示图。
在相关技术中,为了使得数据处理装置的CPU(未示出)访问用于执行用户所命令的任务的数据,CPU将存储在存储驱动器16中的压缩的数据加载到缓冲区头18。缓冲区头18将压缩的数据传送到SW解压器19以便解压压缩的数据。然后,SW解压器19在CPU的控制下对压缩的数据进行解压并将解压的数据输出到中间缓冲器20,并且中间缓冲器20将解压的数据复制到页面缓存17。CPU能够通过访问存储在页面缓存17中的解压的数据来访问用于执行用户所命令的工作的数据。数据处理装置可以进一步包括用来接收输入的用户应用11、虚拟文件系统12、和可以用于与页面缓存17通信的页面出错处理程序13。数据处理装置可以进一步包括块层15。
也就是说,在相关技术中,直到压缩的数据被解压为解压缩的形式并且数据处理装置能够使用所解压的数据,才能够按次序执行将压缩的数据从存储驱动器16加载到缓冲区头18的操作、将解压的数据从缓冲区头18输出到中间缓冲器20的操作、以及将解压的数据从中间缓冲器20复制到页面缓存17的操作。结果,为了将这些数据存储在页面缓存17中,其中数据处理装置可以最终从页面缓存17使用数据,数据移动一共被执行三次。
这样的数据移动可以对系统性能,也就是说,用户感觉到的程序操作速度,产生影响。另外,为了使得CPU解压数据并且访问解压的数据,需要将数据输入到存储设备与CPU之间提供的缓存中,从而压缩的数据和解压的数据能够被CPU访问,而这会导致出现不必要的操作和开销。
发明内容
附加的方面和/或优点将在接下来的描述中被部分地阐述,并且将从描述中部分地变得清楚,或者可以通过实践本发明而习得。
已经做出本公开以便解决至少上述问题和/或缺点,并且提供至少下面描述的优点。因此,本公开的一个方面提供了数据处理装置和用于处理数据的方法,该方法通过提供单独的数据解压器简化数据解压和存储程序来提高程序和数据处理装置的操作速度。
根据本发明的一个方面,数据处理装置包括:第一存储设备,其在其中存储压缩的数据;第二存储设备,其访问和暂时存储第一存储设备中存储的压缩的数据;数据解压器,其通过对压缩的数据进行解压来生成解压的数据并且将解压的数据输出到第二存储设备,从而解压的数据被暂时存储在第二存储设备中;和控制器,其访问暂时存储在第二存储设备中的解压的数据。
第二存储设备可以包括暂时存储压缩的数据的输入缓冲器,和暂时存储解压的数据的页面缓存。
第二存储设备可以将从第一存储设备输入的压缩的数据暂时存储在输入缓冲器中,然后将压缩的数据输出到数据解压器,而数据解压器可以对压缩的数据进行解压并将解压的数据直接分散到页面缓存中。
第二存储设备可以使用DMA(直接存储器存取)方法访问存储在第一存储设备中的压缩的数据。第二存储设备可以使用独立于控制器使用DMA方法访问存储在第一存储设备中的压缩的数据。
第一存储设备可以是硬盘或者快闪存储器,第二存储设备可以是RAM(随机存取存储器)。第一存储设备可以包括非易失性存储器,而第二存储设备可以包括易失性存储器。
数据解压器和控制器可以通过不同的硬件配置实现。
数据解压器可以使用LZ777(Lempel-Ziv77)、DEFLATE、LZW(Lempel-Ziv Welch)、和LZMA(Lempel-Ziv-Markov链算法)中的至少一种算法执行解压。
数据解压器可以将解压的数据直接输出到页面缓存而无需将解压的数据传送到输入缓冲器。
根据本公开的另一方面,用于处理数据的方法包括:访问存储在第一存储设备中的压缩的数据并且将压缩的数据暂时存储在第二存储设备中;对压缩的数据进行解压并且生成解压的数据;将解压的数据输出到第二存储设备中,从而解压的数据被暂时存储在第二存储设备中;以及访问暂时存储在第二存储设备中的解压的数据。
第二存储设备可以包括暂时存储压缩的数据的输入缓冲器,和暂时存储解压的数据的页面缓存。
所述暂时存储压缩的数据包括:将从第一存储设备输入的压缩的数据暂时存储在输入缓冲器中,然后将压缩的数据输出到数据解压器,其中所述输出解压的数据包括数据解压器基于页面缓存的地址将解压的数据直接分散到页面缓存中。
所述暂时存储可以包括:第二存储设备使用DMA(直接存储器存取)方法访问存储在第一存储设备中的压缩的数据。第二存储设备可以独立于用来访问暂时存储在第二存储设备中的解压的数据的控制器,使用DMA方法访问存储在第一存储设备中的压缩的数据。
第一存储设备可以是硬盘或者快闪存储器,而第二存储设备可以是RAM(随机存取存储器)。第一存储设备可以包括非易失性存储器,而第二存储设备可以包括易失性存储器。
数据解压器和控制器可以通过不同的硬件配置实现。
所述解压可以使用LZ777(Lempel-Ziv77)、DEFLATE、LZW(Lempel-ZivWelch)、和LZMA(Lempel-Ziv-Markov链算法)中的至少一种算法执行解压。
解压过程可以通过将解压的数据直接输出到页面缓存来执行而无需将解压的数据传送到输入缓冲器。
根据本发明的另一方面,非瞬时性计算机可读记录介质可以被记录了用来执行用于处理数据的方法的程序,其中所述用于处理数据的方法包括:访问存储在第一存储设备中的压缩的数据并且将压缩的数据暂时存储在第二存储设备中;对压缩的数据进行解压并生成解压的数据;将解压的数据输出到第二存储设备,从而解压的数据被暂时存储在第二存储设备中;以及访问暂时存储在第二存储设备中的解压的数据。
附图说明
从以下结合附图的详细描述,本公开的以上及其它方面、特征、和优点将变得更加清楚,附图中:
图1是示出相关技术中用来处理数据的软件配置的示图;
图2是示出根据本公开的实施例的数据处理装置的配置的框图;
图3是示出根据本公开的实施例的用来处理数据的软件配置的示图;
图4是示出根据本公开的实施例的用来处理数据的软件配置中对压缩的数据进行解压的过程的示图;
图5是示出根据本公开的实施例的,由数据处理装置执行的、用于处理数据的方法的示图。
具体实施方式
下面参考附图详细描述本公开的实施例,其中,即使在不同的附图中,相同的参考数字用于相同的元素。这里公开的主题,诸如详细的结构和元素,被提供来帮助对示范性实施例的全面理解。没有对熟知的功能或者结构进行详细描述,因为它们会以不必要的细节模糊示范性实施例。
图2是示出根据本公开的实施例的数据处理装置的配置的框图。如图2中所示,数据处理装置100包括第一存储设备110、第二存储设备120、数据解压器130、和控制器140。
虽然数据处理装置100可以通过台式PC实现,这仅仅是一个示例,数据处理装置100可以由诸如平板PC、笔记本PC、智能电话、智能TV等等的各种设备实现。
第一存储设备110存储用来驱动数据处理装置的各种程序的数据。例如,第一存储设备110以压缩形式存储执行代码和执行数据(例如,用户界面的图片像素、字体数据,等等)。以下,执行代码和执行数据通常被称为“数据”。
第一存储设备110可以通过硬盘实现。然而,这仅仅是示范性的,并且第一存储设备110可以通过其它非易失性存储器实现。例如,第一存储设备110可以具体实现为非瞬时性计算机可读介质,包括软盘、快闪存储器或者存储卡(例如,USB驱动)、ROM、蓝光磁盘,或诸如CDROM磁盘和DVD的光学介质。
第二存储设备120访问和暂时存储第一存储设备中存储的压缩的数据,从而控制器140能够利用该数据执行对应于用户命令的工作。例如,如果数据处理装置100被启动,则第二存储设备120可以访问和暂时存储第一存储设备110中存储的用于操作系统的压缩的数据。
具体地,第二存储设备120包括暂时存储压缩的数据的输入缓冲器,以及暂时存储解压的数据的页面缓存。
例如,第二存储设备120可以访问存储在第一存储设备110中的压缩的数据并将压缩的数据暂时存储在输入缓冲器中。这时,第二存储设备120可以无需经过控制器140,以DMA(直接存储器存取)方法访问压缩的数据。
第二存储设备120可以将暂时存储在第二存储设备120中的压缩的数据输出到数据解压器130,从而数据解压器130对压缩的数据进行解压并且控制器140能够使用解压的数据。
第二存储设备120可以从数据解压器130接收解压的数据并将解压的数据存储在页面缓存中,从而控制器140能够访问解压的数据。
另一方面,第二存储设备120可以通过易失性存储器实现(例如,DRAM(动态随机存取存储器)或者SRAM(静态随机存取存储器))。然而,这些仅仅是示例,第二存储设备120也可以通过其它易失性存储器实现。
数据解压器130访问并解压存储在第二存储设备120中的压缩的数据。例如,数据解压器130可以访问并解压存储在第二存储设备120的输入缓冲器中的压缩的数据,然后将解压的数据输出到第二存储设备120的页面缓存。这时候,数据解压器130可以基于多个页面缓存的地址将解压的数据直接分散到多个页面缓存中。
也就是说,中间缓冲器并不像相关技术中那样将解压的数据逐一复制到页面缓存中,而是数据解压器130将解压的数据分散到页面缓存中,因此复制的数量可以减少以便进一步提高性能。
数据解压器130可以使用诸如LZ777(Lempel-Ziv77)、DEFLATE、LZW(Lempel-Ziv Welch)、和LZMA(Lempel-Ziv-Markov链算法)的各种算法对于压缩的数据执行解压操作。
控制器140根据用户命令控制数据处理装置100的总体操作。具体地,如果输入了用户命令,控制器140可以访问存储在第二存储设备120的页面缓存中的解压的数据以执行对应于用户命令的工作。
控制器140可以通过CPU(中央处理单元)实现。然而,这仅仅是示范性的,并且控制器140可以通过其它控制器实现。
具体地,根据本发明的实施例的数据解压器130和控制器可以通过不同硬件配置实现。
根据如上所述的数据处理装置100,与控制器140分开提供的数据解压器130用来简化数据解压和存储过程,因此可以提高程序和数据处理装置的操作速度。
图3是示出根据本公开的实施例的用来处理数据的软件配置的示图。如图3中所示,软件配置300包括用户应用310、虚拟文件系统(VFS)320、页面出错处理程序330、文件系统340、块层350、存储驱动器360、数据解压器370、和页面缓存380。文件系统340包括输入缓冲器390。
用户应用310是由执行代码组成的应用程序,用户期望执行的功能通过所述执行代码来实现。
为了使得操作系统基本上支持各种文件系统340,虚拟文件系统320指定与文件管理所需的常见内容统一的接口。
仅仅当执行代码在虚拟存储器和请求页面类型操作系统中是必需的时,页面出错处理程序330才操作以便将相对应的执行代码存储在存储器中。
文件系统340包括位置和管理信息,从而用户应用310能够通过虚拟文件系统320或者页面出错处理程序330从存储设备(例如,第一存储设备110)读取用户应用310所请求的执行代码或数据,并且将数据输入和/或输出请求传送到块层350。
具体地,文件系统340可以包括输入缓冲器390。输入缓冲器390表示存储驱动器360用来暂时存储从存储设备的相应区域访问的数据的区域。
块层350负责存储设备的操作信息和管理,以便有效管理来自若干文件系统340的输入和/或输出请求。
存储驱动器360根据实际使用的存储设备执行物理操作。具体地,存储驱动器360可以根据从块层350输入的数据输入和/或输出请求,对存储在存储设备中的数据进行操作。
数据解压器370访问并解压存储在输入缓存区390中的压缩的数据,并将解压的数据直接存储在页面缓存380中。也就是说,对比图1的配置,在图1的配置中SW解压器19对压缩的数据进行解压并将解压的数据输出到中间缓冲器20,数据解压器370将解压的数据传送到页面缓存380而无需将解压的数据传送到中间缓冲器。也就是说,不需要如图1的配置中的从中间缓冲器到页面缓存的额外的数据传输。
页面缓存380指代最终存储数据的系统存储区域。在此情况下,存储在页面缓存380中的数据可以是解压的形式的数据,从而控制器140能够使用该数据。通过将已经被存储在具有相对较低的输入/输出速度的存储设备中的数据存储在具有相对较快的输入/输出速度的页面缓存中,控制器能够更快速地访问用于执行用户所请求的工作的数据。
图4是示出根据本公开的实施例的用来处理数据的软件配置中对压缩的数据进行解压的过程的示图。
如果用户应用程序被操作,则用户应用310通过页面出错处理程序330从文件系统340请求输入和/或输出执行代码。另外,用户应用310通过虚拟文件系统320从文件系统340请求输入和/或输出执行数据。
如果请求了输入和/或输出执行代码和执行数据,则文件系统340基于由文件系统340管理的存储区域信息,从块层350和存储驱动器360请求实际的物理输入和/或输出。此时,文件系统340也可以输出关于存储被请求输入和/或输出的数据的区域的信息。
存储驱动器360根据来自文件系统340的请求,存储对应于输入缓冲器390中的用户应用的压缩的数据。
数据解压器370访问和解压存储在输入缓冲器390中的压缩的数据。此时,数据解压器370可以基于从文件系统340输入的页面缓存380的地址,将解压的数据直接分散到各个页面缓存380中。
如果解压的数据被存储在各个页面缓存380中,则控制器140能够通过访问存储在页面缓存380中的解压的数据,执行对应于用户命令的工作。
如图1所示,在相关技术中,通过若干访问过程,数据最终被存储在页面缓存中。然而,根据本公开的实施例,如图4中所示,数据能够通过简化的访问过程被最终存储在页面缓存中。
图5是示出根据本公开的实施例的,由数据处理装置执行的、用于处理数据的方法的示图。
首先,第二存储设备120访问存储在第一存储设备110中的压缩的数据,并暂时存储所述压缩的数据(5510)。此时,第二存储设备120可以独立于控制器140以DMA方法访问存储在第一存储设备110中的压缩的数据。具体地,压缩的数据可以被暂时存储在第一存储设备110的输入缓冲器内。
根据本公开的实施例,第一存储设备110可以通过诸如硬盘的非易失性存储器实现,而第二存储设备120可以通过诸如DRAM或SRAM的易失性存储器实现。
数据解压器130对压缩的数据进行解压并生成解压的数据(5520)。例如,数据解压器130可以访问存储在第二存储设备120的输入缓冲器中的压缩的数据。另外,数据解压器130可以使用诸如LZ777(Lempel-Ziv77)、DEFLATE、LZW(Lempel-Ziv Welch)、和LZMA(Lempel-Ziv-Markov链算法)的各种算法对于压缩的数据执行解压操作。
然后,数据解压器130将解压的数据输出到第二存储设备120(5530)。此时,数据解压器130可以将解压的数据存储在第二存储设备120的页面缓存中。
控制器140访问暂时存储在第二存储设备120中的解压的数据(5540)。例如,为了执行对应于用户命令的工作,控制器140可以访问暂时存储在对应于用户命令的第二存储设备120中的解压的数据。
根据如上所述的用于处理数据的方法,数据处理装置100能够提高程序和数据处理装置的操作速度。
如上所述的根据各种实施例的用于执行用于处理数据的方法的程序代码可以被存储在非瞬时性计算机可读介质中,并且可以包括用来实现由中处理单元(CPU)具体实现的各种操作的程序指令。所述非瞬时性计算机可读介质指的是并非短时间存储数据的、而是半永久性地存储数据的设备可读媒介,诸如寄存器、高速缓存、和存储器。例如,上述各种应用或程序可以被提供并且被存储在诸如CD、DVD、硬盘、蓝光磁盘、USB、存储卡、和ROM的非瞬时性计算机可读介质中。非瞬时性计算机可读介质的其它示例可以包括:磁性介质,诸如软盘、和磁带;磁光介质,诸如光盘;和被特别地配置为存储和执行程序指令的硬件设备,诸如随机存储存储器(RAM)、快闪存储器、等等。程序指令的示例包括机器代码以及包含更高层代码的文件全部两个,所述机器代码诸如编译器产生的代码,所述包含更高层代码的文件可以由计算机使用解译器来执行。所述硬件设备可以被配置为充当一个或多个软件模块以便执行上述实施例的操作,或者反之亦然。
根据上述示例实施例的组成数据处理装置的组件和用于控制数据处理装置的相应的方法可以使用一个或多个处理器,其可以包括微处理器、中央处理单元(CPU)、数字信号处理器(DSP),或者专用集成电路(ASIC),以及这些和其它处理设备的部分或组合。
这里所用的术语“模块”和“单元”,可以指代但不仅限于执行某项任务的软件或硬件组件、电路、或者设备,诸如现场可编程门阵列(FPGA)或者专用集成电路(ASIC)。模块或单元可以被配置为驻留在可寻址的存储介质之上,并且被配置在一个或多个处理器上执行。因此,模块或单元可以包括,例如,组件,诸如软件组件、面向对象的软件组件、类组件、和任务组件,进程,功能,属性,程序,子程序,程序代码段,驱动器,固件,微码,电路,数据,数据库,数据结构,表格,数组和变量。在组件和模块/单元中提供的功能可以组合成更少的组件和模块/单元或者进一步分为附加的组件和模块。
流程图的每个块可以代表一个单元、模块、段、或代码部分,其包括一个或多个用于实现指定的逻辑功能的可执行指令。还应该注意到,在一些可替换的实施方式中,模块中提到的功能可以不按次序出现。例如,两个连续示出的模块实际上可以根据基本上同时执行,或者所述块有时候可以按相反的次序执行,这取决于所涉及的功能。
虽然已经参考本公开的某些示例实施例示出和描述了本公开,本领域的技术人员将理解,可以在这里进行各种形式和细节上的各种改变而不脱离如所附权利要求定义的本公开的精神和范围。
Claims (12)
1.一种数据处理装置,包括:
第一存储设备,其在其中存储压缩的数据;
第二存储设备,其访问存储在第一存储设备中的压缩的数据并暂时存储所述压缩的数据;
数据解压器,其通过对压缩的数据进行解压来生成解压的数据,并将解压的数据输出到第二存储设备,从而解压的数据被暂时存储在第二存储设备中;以及
控制器,其访问暂时存储在第二存储设备中的解压的数据。
2.如权利要求1所述的数据处理装置,其中第二存储设备包括:
输入缓冲器,其暂时存储压缩的数据;以及
页面缓存,其暂时存储解压的数据。
3.如权利要求2所述的数据处理装置,其中第二存储设备将从第一存储设备输入的压缩的数据暂时存储在输入缓冲器中,然后将所述压缩的数据输出到数据解压器,以及
所述数据解压器对压缩的数据进行解压,并将解压的数据直接分散到页面缓存中。
4.如权利要求3所述的数据处理装置,其中第二存储设备使用DMA(直接存储器存取)方法访问存储在第一存储设备中的压缩的数据。
5.如权利要求1所述的数据处理装置,其中第一存储设备是硬盘或者快闪存储器,以及
第二存储设备是RAM(随机存取存储器)。
6.如权利要求1所述的数据处理装置,其中所述数据解压器和所述控制器通过不同的硬件配置实现。
7.一种用于处理数据的方法,包括:
访问存储在第一存储设备中的压缩的数据并将所述压缩的数据暂时存储在第二存储设备中;
对压缩的数据进行解压并且生成解压的数据;
将解压的数据输出到第二存储设备,从而所述解压的数据被暂时存储在第二存储设备中;以及
访问暂时存储在第二存储设备中的解压的数据。
8.如权利要求7所述的用于处理数据的方法,其中第二存储设备包含:
输入缓冲器,其暂时存储压缩的数据;以及
页面缓存,其暂时存储解压的数据。
9.如权利要求7所述的用于处理数据的方法,其中所述暂时存储压缩的数据包括将从第一存储设备输入的压缩的数据暂时存储在输入缓冲器中,然后将所述压缩的数据输出到数据解压器,
其中所述输出解压的数据包括所述数据解压器基于页面缓存的地址将解压的数据直接分散到页面缓存中。
10.如权利要求9所述的用于处理数据的方法,其中所述暂时存储压缩的数据包括第二存储设备使用DMA(直接存储器存取)方法访问存储在第一存储设备中的压缩的数据。
11.如权利要求7所述的用于处理数据的方法,其中第一存储设备是硬盘或者快闪存储器,以及
第二存储设备是RAM(随机存取存储器)。
12.如权利要求7所述的用于处理数据的方法,其中用来对压缩的数据进行解压并生成解压的数据的数据解压器以及用来访问暂时存储在第二存储设备中的解压的数据的控制器通过不同硬件配置实现。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0096332 | 2012-08-31 | ||
KR1020120096332A KR20140028930A (ko) | 2012-08-31 | 2012-08-31 | 데이터 처리 장치 및 이의 데이터 처리 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능 매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103678200A true CN103678200A (zh) | 2014-03-26 |
Family
ID=49035358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310386145.5A Pending CN103678200A (zh) | 2012-08-31 | 2013-08-30 | 数据处理装置、处理数据的方法和计算机可读记录介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9367445B2 (zh) |
EP (1) | EP2703994A3 (zh) |
KR (1) | KR20140028930A (zh) |
CN (1) | CN103678200A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886862A (zh) * | 2019-01-25 | 2019-06-14 | 上海赜睿信息科技有限公司 | 一种数据处理的方法及装置 |
CN113253923A (zh) * | 2021-04-28 | 2021-08-13 | 锐掣(杭州)科技有限公司 | 数据处理方法、装置、设备、介质及产品 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9594679B2 (en) * | 2008-05-01 | 2017-03-14 | Sandisk Il Ltd. | Flash cache flushing method and system |
KR101978178B1 (ko) * | 2013-05-24 | 2019-05-15 | 삼성전자주식회사 | 초음파 데이터를 처리하는 데이터 처리 장치 및 방법 |
US10565182B2 (en) | 2015-11-23 | 2020-02-18 | Microsoft Technology Licensing, Llc | Hardware LZMA compressor |
KR20230018831A (ko) * | 2021-07-30 | 2023-02-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6170047B1 (en) * | 1994-11-16 | 2001-01-02 | Interactive Silicon, Inc. | System and method for managing system memory and/or non-volatile memory using a memory controller with integrated compression and decompression capabilities |
US6523102B1 (en) * | 2000-04-14 | 2003-02-18 | Interactive Silicon, Inc. | Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules |
US20060206668A1 (en) * | 2005-02-28 | 2006-09-14 | Katsuki Uwatoko | Data processing system and data decompression method |
CN100470657C (zh) * | 2004-04-28 | 2009-03-18 | 富士通天株式会社 | 记录与再生装置 |
US20120203955A1 (en) * | 2011-02-07 | 2012-08-09 | Jin Hyuk Kim | Data processing device and system including the same |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5990958A (en) | 1997-06-17 | 1999-11-23 | National Semiconductor Corporation | Apparatus and method for MPEG video decompression |
KR20010076910A (ko) | 2000-01-28 | 2001-08-17 | 구자홍 | 프로그램 멀티 부팅 방법 |
US20060010151A1 (en) | 2004-05-25 | 2006-01-12 | Chih-Ta Star Sung | Lossless compression method and apparatus for data storage and transmission |
US20070016693A1 (en) | 2005-06-30 | 2007-01-18 | Advanced Micro Devices, Inc. | Decompression technique for generating software image |
US20090282064A1 (en) | 2008-05-07 | 2009-11-12 | Veeramanikandan Raju | On the fly compression and storage device, system and method |
JP2010086321A (ja) | 2008-09-30 | 2010-04-15 | Digital Electronics Corp | メモリ制御システム |
-
2012
- 2012-08-31 KR KR1020120096332A patent/KR20140028930A/ko not_active Application Discontinuation
-
2013
- 2013-07-29 US US13/953,014 patent/US9367445B2/en not_active Expired - Fee Related
- 2013-08-21 EP EP13181207.5A patent/EP2703994A3/en not_active Withdrawn
- 2013-08-30 CN CN201310386145.5A patent/CN103678200A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6170047B1 (en) * | 1994-11-16 | 2001-01-02 | Interactive Silicon, Inc. | System and method for managing system memory and/or non-volatile memory using a memory controller with integrated compression and decompression capabilities |
US6523102B1 (en) * | 2000-04-14 | 2003-02-18 | Interactive Silicon, Inc. | Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules |
CN100470657C (zh) * | 2004-04-28 | 2009-03-18 | 富士通天株式会社 | 记录与再生装置 |
US20060206668A1 (en) * | 2005-02-28 | 2006-09-14 | Katsuki Uwatoko | Data processing system and data decompression method |
US20120203955A1 (en) * | 2011-02-07 | 2012-08-09 | Jin Hyuk Kim | Data processing device and system including the same |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886862A (zh) * | 2019-01-25 | 2019-06-14 | 上海赜睿信息科技有限公司 | 一种数据处理的方法及装置 |
CN109886862B (zh) * | 2019-01-25 | 2023-01-17 | 上海赜睿信息科技有限公司 | 一种数据处理的方法及装置 |
CN113253923A (zh) * | 2021-04-28 | 2021-08-13 | 锐掣(杭州)科技有限公司 | 数据处理方法、装置、设备、介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
EP2703994A2 (en) | 2014-03-05 |
KR20140028930A (ko) | 2014-03-10 |
US20140068156A1 (en) | 2014-03-06 |
US9367445B2 (en) | 2016-06-14 |
EP2703994A3 (en) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3612947B1 (en) | Processing discontiguous memory as contiguous memory to improve performance of a neural network environment | |
CN103678200A (zh) | 数据处理装置、处理数据的方法和计算机可读记录介质 | |
US9307249B2 (en) | Processing device and method of compressing images | |
KR102287677B1 (ko) | 데이터 액세스 방법, 장치, 기기 및 저장 매체 | |
US9652152B2 (en) | Efficient decompression locality system for demand paging | |
US20130179670A1 (en) | Booting method of multimedia device and multimedia device | |
US11263064B2 (en) | Methods and apparatus to facilitate improving processing of machine learning primitives | |
US20210240524A1 (en) | Methods and apparatus to facilitate tile-based gpu machine learning acceleration | |
US10795606B2 (en) | Buffer-based update of state data | |
JP2023519565A (ja) | 機械学習ジョブ中の改善されたメモリ圧縮転送のためのスパース性に基づく特徴の再順序付け | |
US9652416B2 (en) | Storage device for performing in-storage computing operations, method of operation the same, and system including the same | |
US7598891B2 (en) | Data development device and data development method | |
KR20130090526A (ko) | 메모리 오버레이 장치 및 방법 | |
JP2023519564A (ja) | 機械学習ジョブ中にメモリ圧縮転送を改善するための類似性に基づく特徴の並べ替え | |
KR20230010672A (ko) | 데이터 압축의 방법 및 장치 | |
TWI614684B (zh) | 即時韌體更新方法及其電腦可讀取媒介 | |
WO2023236013A1 (en) | Data re-arrangement by mixed simt and simd execution mode | |
US12117934B2 (en) | Method and system for sharing memory between processors by updating shared memory space including funtionality to place processors into idle state | |
US11989142B2 (en) | Efficient and concurrent model execution | |
CN111563054B (zh) | 一种提高芯片读写速度的方法、智能终端及存储介质 | |
US11294677B2 (en) | Electronic device and control method thereof | |
US20230185740A1 (en) | Low-latency input data staging to execute kernels | |
US20240320059A1 (en) | Method and system for processing task in parallel | |
KR20170133116A (ko) | 전자 장치 및 그것의 동작 방법 | |
KR20230126114A (ko) | 메모리 장치 및 메모리 장치에 의해 수행되는 연산 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |
|
RJ01 | Rejection of invention patent application after publication |