CN102203753A - 数据写处理方法、装置和终端设备 - Google Patents

数据写处理方法、装置和终端设备 Download PDF

Info

Publication number
CN102203753A
CN102203753A CN2011800006820A CN201180000682A CN102203753A CN 102203753 A CN102203753 A CN 102203753A CN 2011800006820 A CN2011800006820 A CN 2011800006820A CN 201180000682 A CN201180000682 A CN 201180000682A CN 102203753 A CN102203753 A CN 102203753A
Authority
CN
China
Prior art keywords
data
write
writing
writes
predetermined number
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.)
Granted
Application number
CN2011800006820A
Other languages
English (en)
Other versions
CN102203753B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102203753A publication Critical patent/CN102203753A/zh
Application granted granted Critical
Publication of CN102203753B publication Critical patent/CN102203753B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本发明实施例公开了一种数据写处理方法、装置和终端设备,方法包括:从主机接收第一预设数量的第一批写入数据;执行第二预设数量的数据写入程序,以将第一批写入数据写入存储空间,并从主机接收第一预设数量的第二批写入数据,其中,第二预设数量为第一预设数量的两倍;在接收到第二批写入数据后所述第一批写入数据的写入完成时,通过数据写入程序将第二批写入数据写入存储空间。装置包括接收模块和第一写入模块。本发明实施例还提供了一种终端设备。本发明实施例优化了数据写处理的性能,提高了终端设备的写入速率。

Description

数据写处理方法、装置和终端设备
技术领域
本发明实施例涉及通信技术,尤其涉及一种数据写处理方法、装置和终端设备。
背景技术
随着科技的不断发展和进步,通信产品的种类越来越多样化,以不断满足用户的各种需求。其中,终端数据卡产品为一种用于数据存储、读写的通信设备,目前市场上的终端数据卡产品通常均支持迷你(mini)安全数码(Secure Digital;以下简称:SD)卡,当终端数据卡***到个人电脑(Personal Computer;以下简称:PC)后,PC会弹出SD U盘设备,可供用户读写访问。当终端数据卡作为SD U盘功能时,读数据的性能一般比写数据的性能高,如某产品的读速度可以达到7-8MByte/s,而写速度只有3-4MByte/s,因此,写性能存在优化的必要,以提高用户体验度。
目前的通用串行总线(Universal Serial Bus;以下简称:USB)大容量存储(Mass Storage)设备均通过批处理(bulk)端点进行数据传输,通常遵循以下三个阶段:命令块包(Command Block Wrapper;以下简称:CBW)->数据(DATA)->命令状态包(Command Status Wrapper;以下简称:CSW)。其中,CBW为一个数据块,其中携带有主机发给设备的小型计算机***接口(Small Computer System Interface;以下简称:SCSI)命令,设备根据接收到的CSW便可以确定后续DATA阶段的具体情况,即无数据需要传输、输入(IN)传输(设备到主机)或输出(OUT)传输(主机到设备),而CSW阶段则反馈传输结果到主机或设备。
在现有技术中,当PC向终端设备写入数据时,先将写入的数据长度和命令通过CBW传输给设备侧,设备侧接收到CBW后开始准备接收来自PC的数据。在Windows***下,PC每次发给设备侧需要写入的数据长度为64KByte,对于不足64KByte的数据则一次写入。图1为现有技术中数据写入方法的执行过程和时间轴示意图,如图1所示,时间段A表示设备侧从USB接收到来自PC的64KByte数据,时间段B表示设备侧接收完成数据后再向SD接口写入该64KByte数据,时间段E表示回CSW时间,即在数据写入SD卡后通过CSW将传输结果反馈到PC,时间段F表示从CSW到PC下发下一个数据包的时间。
然而,发明人在实现本发明的过程中发现现有技术中至少存在如下缺陷:现有技术采用串行数据传输,不能利用中央处理器(Centre Processing Unit;以下简称:CPU)的多线程以及直接内存访问(Direct Memory Access;以下简称:DMA)并行搬运数据的优势,导致数据写处理的性能较低。
发明内容
本发明实施例在于提供一种数据写处理方法、装置和终端设备,采用数据并行写入机制,优化数据写处理的性能,提高终端设备的写入速率。
为了实现上述目的,本发明实施例提供了一种数据写处理方法,包括:
从主机接收第一预设数量的第一批写入数据;
执行第二预设数量的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据,其中,所述第二预设数量为所述第一预设数量的两倍;
在接收到所述第二批写入数据后所述第一批写入数据的写入完成时,通过所述数据写入程序将所述第二批写入数据写入所述存储空间。
本发明实施例提供了一种数据写处理装置,包括:
接收模块,用于从主机接收第一预设数量的第一批写入数据;
第一写入模块,用于执行第二预设数量的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据,其中,所述第二预设数量为所述第一预设数量的两倍;
第二写入模块,用于在接收到所述第二批写入数据后所述第一批写入数据的写入完成时,通过所述数据写入程序将所述第二批写入数据写入所述存储空间。
本发明实施例提供了一种终端设备,包括上述数据写处理装置。
本发明实施例提供的一种数据写处理方法、装置和终端设备,先从主机接收第一预设数量的第一批写入数据,再执行第二预设数量的数据写入程序以将第一批写入数据写入存储空间,此时从主机接收第一预设数量的第二批写入数据,当接收到第二批写入数据后第一批写入数据的写入已完成时,再将第二批写入数据写入到存储空间;本实施例采用数据并行写入机制将后半部分写入数据的接收任务与整个写入数据的写入任务并行执行,可以有效利用CPU的多线程及DMA并行搬运数据的优势,优化了数据写处理的性能,提高了终端设备的写入速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中数据写入方法的执行过程和时间轴示意图;
图2为本发明数据写处理方法实施例一的流程图;
图3为本发明数据写处理方法实施例二的流程图;
图4为本发明数据写处理方法实施例二中的执行过程和时间轴示意图一;
图5为本发明数据写处理方法实施例二中的执行过程和时间轴示意图二;
图6为本发明数据写处理装置实施例一的结构图;
图7为本发明数据写处理装置实施例二的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明数据写处理方法实施例一的流程图,如图2所示,本实施例提供了一种数据写处理方法,可以包括如下步骤:
步骤201,从主机接收第一预设数量的第一批写入数据;
步骤202,执行第二预设数量的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据,其中,所述第二预设数量为第一预设数量的两倍;
步骤203,在接收到所述第二批写入数据后所述第一批写入数据的写入完成时,通过所述数据写入程序将所述第二批写入数据写入存储空间。
进一步的,作为优选的实施例,步骤203进一步包括:
步骤2031:在接收到所述第二批写入数据后,判断所述第一批写入数据的写入是否完成,如果是,则执行步骤2033,否则执行步骤2032;
步骤2032:如果所述第一批写入数据仍在写入,则在所述第一批写入数据的写入完成后,通过所述数据写入程序将所述第二批写入数据写入存储空间;
步骤2033,如果所述第一批写入数据已经写入完成,则重启第二预设数量的数据写入程序,以将所述第二批写入数据写入存储空间。
在某些情况下,数据写入的时候或会频繁出现收到接收到第二批数据的时候,第一批写入数据已经完成写入。如果这种情况频繁出现,会因为数据写入程序的不完全执行,造成写性能下降。因此,也可以在执行步骤201前先一步判断是否当前主机的写超前概率是否达到了预设的概率阈值,如果达到了概率阈值,则仍采用与第一批写入数据和第二批写入数据的大小相对应的数据写入程序来分别执行第一批写入数据和第二批写入数据的写入操作。这里的写抄写概率即每接收到100个第二批写入数据中,第一批写入数据已经写入完成的发生次数。在本发明实施例中,这个概率阈值可以为5/100。
本实施例中的第二预设数量由终端设备的数据处理能力来决定,第一预设数量为第二预设数量的一半,本实施例具体应用在PC向终端数据卡写入数据的场景中,其中,主机可以具体为PC,在Windows***下,由于PC每次发送给设备侧的数据包的长度为64K比特(Byte),因此,此处将本实施例中的第二预设数量具体设置为64K Byte,第一预设数量具体设置为32K Byte。本实施例在执行数据写处理的方案前,可以先对各种PC的写超前概率进行实验统计,此处的写超前概率为在SD卡中写入第一预设数量的第一批写入数据前未接收到第一预设数量的第二批写入数据的概率,即在SD卡中写入32K Byte的第一批写入数据前未接收到PC发送的32K Byte的第二批写入数据的概率,预设的概率阈值可以为5/100,其表示每写入100个数据包只有5个数据包在收到32K Byte的写入数据时在SD卡中写入的数据已超过32K Byte,即这5个数据包在SD卡中写入32K Byte的第一批写入数据前未接收到32K Byte的第二批写入数据。通过实测发现在大部分PC上的写超前概率均极低,即低于预设的概率阈值。在本实施例中,当主机的写超前概率小于预设的概率阈值时,先接收来自主机的第一预设数量的写入数据,即先从PC上接收其发送的32K Byte的写入数据。
在本实施例中,当从主机接收到第一预设数量的第一批写入数据后,开始执行第二预设数量的数据写入程序,向SD卡中直接写入第二预设数量的第一批写入数据,并同时继续从主机接收第一预设数量的第二批写入数据。
即在接收到32K Byte的第一批写入数据时,便直接向SD卡中写入64K Byte的第一批写入数据,同时继续从主机接收32K Byte的第二批写入数据。本实施例将主机发送的64K Byte的写入数据分成两部分,在接收到一半数据时,启动数据的写入操作,将后一半数据的接收任务与数据的写入任务并行执行,可以有效利用CPU的多线程及DMA并行搬运数据的优势,且在执行数据的写入任务时直接写入64K Byte,与分两次写入相比减少了写入时间。
本实施例提供了一种数据写处理方法,先从主机接收第一预设数量的第一批写入数据,再执行第二预设数量的数据写入程序以将第一批写入数据写入存储空间,此时从主机接收第一预设数量的第二批写入数据,当接收到第二批写入数据后第一批写入数据的写入已完成时,再将第二批写入数据写入到存储空间;本实施例采用数据并行写入机制将后半部分写入数据的接收任务与整个写入数据的写入任务并行执行,可以有效利用CPU的多线程及DMA并行搬运数据的优势,优化了数据写处理的性能,提高了终端设备的写入速率。
图3为本发明数据写处理方法实施例二的流程图,如图3所示,本实施例提供了一种数据写处理方法,本实施例中的第一预设数量具体为32K Byte,第二预设数量具体为64K Byte,本实施例提供的方法可以具体包括如下步骤:
步骤301,判断主机上的写超前概率是否小于预设的概率阈值,如果是,则执行步骤302,否则执行步骤307。
本步骤为根据主机的类型获取主机上的写超前概率,判断其写超前概率是否小于预设的概率阈值,此处的概率阈值可以设定为5/100,如果是,则执行后续步骤302-306,否则执行步骤307-309。本实施例在执行数据写处理的方案前,可以先对各种PC的写超前概率进行实验统计,此处的写超前概率为在SD卡中写入第一预设数量的第一批写入数据前未接收到第一预设数量的第二批写入数据的概率,即在SD卡中写入32K Byte的第一批写入数据前未接收到PC发送的32K Byte的第二批写入数据的概率,预设的概率阈值可以为5/100,其表示每写入100个数据包只有5个数据包在收到32K Byte的写入数据时在SD卡中写入的数据已超过32K Byte,即这5个数据包在SD卡中写入32K Byte的第一批写入数据前未接收到32K Byte的第二批写入数据。通过实测发现在大部分PC上的写超前概率均极低,即低于预设的概率阈值。在本实施例中,当主机的写超前概率小于预设的概率阈值时,先接收来自主机的第一预设数量的写入数据,即先从PC上接收其发送的32K Byte的写入数据。
步骤302,从主机接收32K Byte的第一批写入数据。
当主机上的写超前概率小于概率阈值时,接收来自主机的32K Byte的第一批写入数据,图4为本发明数据写处理方法实施例二中的执行过程和时间轴示意图一,如图4所示,若写超前概率满足概率阈值,则执行时间段A所示的接收数据的过程。
步骤303,执行64K Byte的数据写入程序,以将第一批写入数据写入SD卡,并从主机接收32K Byte的第二批写入数据。
在接收到主机发送的32K Byte的第一批写入数据,即执行完图4中时间段A所示的任务后,并行执行时间段B和C所示的任务,即执行64K Byte的数据写入程序,以向SD卡中写入32K Byte的第一批写入数据,并同时继续从主机接收32K Byte的第二批写入数据。
步骤304,在接收到32K Byte的第二批写入数据后,判断在SD卡中是否已写入32K Byte的第一批写入数据,如果是,则执行步骤305,否则步骤306,继续执行步骤303中数据的写入过程。
在接收到32K Byte的第二批写入数据后,检测在SD卡中是否已写入32K Byte的第一批写入数据,即执行完图4中时间段B所示的任务后,判断时间段C所示的写入过程中是否已完成32K Byte的第一批数据的写入,如果是,则执行步骤305,否则执行步骤306。
步骤305,重启64K Byte的数据写入程序,以重新向SD卡中写入64K Byte的写入数据。
若在接收到时间段B所示的32K Byte的第二批写入数据时,SD卡中已写完32K Byte的第一批写入数据的写入操作,则表明写入数据的速度超过了接收数据的速度,此时可能出现写入的数据为空的情况,为了避免产生这种数据错误的问题,本实施例在出现这种特殊情况时,重启64K Byte的数据写入程序的执行过程,重新向SD卡中写入64K Byte的写入数据,以保证写入数据的正确性。
步骤306,继续执行步骤303中的64K Byte的数据写入程序,在第一批写入数据的写入完成后,向SD卡中写入第二批写入数据。
若在接收到时间段B所示的32K Byte的第二批写入数据后,SD卡中尚未完成32K Byte的第一批写入数据的写入过程,则不会出现异常数据错误情况,此时继续执行步骤303中向SD卡中写入数据的操作,无需中断该写入过程,即连续执行时间段C所示的任务。
继续参照上述图4,在完成时间段C所示的数据写入任务后,后续还包括时间段D和E,其中,时间段D表示回CSW时间,即在数据写入SD卡后通过CSW将传输结果反馈到PC,时间段E表示从CSW到PC下发下一个数据包的时间。
步骤307,从主机接收32K Byte的第一批写入数据。
当主机上的写超前概率大于或等于概率阈值时,表明该主机出现写入速率大于接收速率的概率较大,若仍采用图4中时间段B和C并行执行的方法,则重写数据的几率较大,反而会造成写性能下降。因此,本实施例针对这种情况,则采用另外的一种策略来完成数据写入,即从主机接收32K Byte的第一批写入数据,图5为本发明数据写处理方法实施例二中的执行过程和时间轴示意图二,如图5所示,若写超前概率不满足概率阈值,则执行图5中时间段A所示的接收数据的过程。
步骤308,执行第一批写入数据对应的数据写入程序,以将第一批写入数据写入SD卡中,并从主机接收32K Byte的第二批写入数据。
在接收到主机发送的32K Byte的第一批写入数据,即执行完图5中时间段A所示的任务后,并行执行图5中时间段B和C所示的任务,即执行第一批写入数据对应的数据写入程序,向SD卡中先写入32K Byte的第一批写入数据,并同时继续从主机接收32K Byte的第二批写入数据。
步骤309,执行第二批写入数据对应的数据写入程序,以将第二批写入数据写入SD卡中。
在SD卡中写入32K Byte的第一批写入数据后,执行第二批写入数据对应的数据写入程序,开始向SD卡中写入32K Byte的第二批写入数据,即在执行完成图5中时间段C所示的任务后,再执行时间段D所示的任务,将向SD卡中写入数据的过程分为两个阶段分别执行。
继续参照上述图5,在完成时间段C和D所示的数据写入任务后,后续还包括时间段E和F,其中,时间段E表示回CSW时间,即在数据写入SD卡后通过CSW将传输结果反馈到PC,时间段F表示从CSW到PC下发下一个数据包的时间。
本实施例提供了一种数据写处理方法,先从主机接收第一预设数量的第一批写入数据,再执行第二预设数量的数据写入程序以将第一批写入数据写入存储空间,此时从主机接收第一预设数量的第二批写入数据,当接收到第二批写入数据后第一批写入数据的写入已完成时,再将第二批写入数据写入到存储空间;本实施例采用数据并行写入机制将后半部分写入数据的接收任务与整个写入数据的写入任务并行执行,可以有效利用CPU的多线程及DMA并行搬运数据的优势,优化了数据写处理的性能,提高了终端设备的写入速率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本发明数据写处理装置实施例一的结构图,如图6所示,本实施例提供了一种数据写入处理装置,可以具体执行上述方法实施例一中的各个步骤,此处不再赘述。本实施例提供的数据写处理装置可以具体包括接收模块601、第一写入模块602和第二写入模块603。其中,接收模块601用于从主机接收第一预设数量的第一批写入数据。第一写入模块602用于执行第二预设数量的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据,其中,所述第二预设数量为所述第一预设数量的两倍。第二写入模块603用于在接收到所述第二批写入数据后所述第一批写入数据的写入完成时,通过所述数据写入程序将所述第二批写入数据写入所述存储空间。
图7为本发明数据写处理装置实施例二的结构图,如图7所示,本实施例提供了一种数据写入处理装置,可以具体执行上述方法实施例二中的各个步骤,此处不再赘述。本实施例提供的数据写处理装置在上述图6所示的基础之上,第二写入模块603可以具体包括判断单元613、第一写入单元623和第二写入单元633。其中,判断单元613用于在接收到所述第二批写入数据时,判断所述第一批写入数据的写入是否完成。第一写入单元623用于若所述第一批写入数据仍在写入,则在所述第一批写入数据的写入完成后,通过所述数据写入程序将所述第二批写入数据写入所述存储空间。第二写入单元633用于若所述第一批写入数据已经写入完成,则重启所述第二预设数量的数据写入程序,以将所述第二批写入数据写入所述存储空间。
进一步地,本实施例提供的数据写处理装置还可以包括判断模块701和写处理模块702。其中,判断模块701用于判断主机上的写超前概率是否小于预设的概率阈值。写处理模块702用于当判断模块701的判断结果为所述写超前概率大于或等于预设的概率阈值时,从主机接收第一预设数量的第一批写入数据;执行所述第一批写入数据对应的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据;执行所述第二批写入数据对应的数据写入程序,以将所述第二批写入数据写入所述存储空间。接收模块601具体用于当判断模块701的判断结果为所述写超前概率小于预设的概率阈值时,执行所述从主机接收第一预设数量的第一批写入数据的步骤。其中,所述写超前概率为在所述存储空间中写入所述第一预设数量的第一批写入数据前未接收到所述第一预设数量的第二批写入数据的概率。
具体地,本实施例中的第一预设数量可以具体为32K比特,第二预设数量可以具体为64K比特。
本实施例提供了一种数据写处理装置,先从主机接收第一预设数量的第一批写入数据,再执行第二预设数量的数据写入程序以将第一批写入数据写入存储空间,此时从主机接收第一预设数量的第二批写入数据,当接收到第二批写入数据后第一批写入数据的写入已完成时,再将第二批写入数据写入到存储空间;本实施例采用数据并行写入机制将后半部分写入数据的接收任务与整个写入数据的写入任务并行执行,可以有效利用CPU的多线程及DMA并行搬运数据的优势,优化了数据写处理的性能,提高了终端设备的写入速率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

Claims (9)

1.一种数据写处理方法,其特征在于,包括:
从主机接收第一预设数量的第一批写入数据;
执行第二预设数量的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据,其中,所述第二预设数量为所述第一预设数量的两倍;
在接收到所述第二批写入数据后所述第一批写入数据的写入完成时,通过所述数据写入程序将所述第二批写入数据写入所述存储空间。
2.根据权利要求1所述的方法,其特征在于,所述在接收到所述第二批写入数据后所述第一批写入数据的写入完成时,通过所述数据写入程序将所述第二批写入数据写入所述存储空间包括:
在接收到所述第二批写入数据时,判断所述第一批写入数据的写入是否完成;
若所述第一批写入数据仍在写入,则在所述第一批写入数据的写入完成后,通过所述数据写入程序将所述第二批写入数据写入所述存储空间;
若所述第一批写入数据已经写入完成,则重启所述第二预设数量的数据写入程序,以将所述第二批写入数据写入所述存储空间。
3.根据权利要求1所述的方法,其特征在于,还包括:
判断主机上的写超前概率是否小于预设的概率阈值;
当所述写超前概率小于预设的概率阈值时,执行所述从主机接收第一预设数量的第一批写入数据的步骤;
当所述写超前概率大于或等于预设的概率阈值时,从主机接收第一预设数量的第一批写入数据;执行所述第一批写入数据对应的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据;执行所述第二批写入数据对应的数据写入程序,以将所述第二批写入数据写入所述存储空间;
其中,所述写超前概率为在所述存储空间中写入所述第一预设数量的第一批写入数据前未接收到所述第一预设数量的第二批写入数据的概率。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一预设数量为32K比特,所述第二预设数量为64K比特。
5.一种数据写处理装置,其特征在于,包括:
接收模块,用于从主机接收第一预设数量的第一批写入数据;
第一写入模块,用于执行第二预设数量的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据,其中,所述第二预设数量为所述第一预设数量的两倍;
第二写入模块,用于在接收到所述第二批写入数据后所述第一批写入数据的写入完成时,通过所述数据写入程序将所述第二批写入数据写入所述存储空间。
6.根据权利要求5所述的装置,其特征在于,所述第二写入模块包括:
判断单元,用于在接收到所述第二批写入数据时,判断所述第一批写入数据的写入是否完成;
第一写入单元,用于若所述第一批写入数据仍在写入,则在所述第一批写入数据的写入完成后,通过所述数据写入程序将所述第二批写入数据写入所述存储空间;
第二写入单元,用于若所述第一批写入数据已经写入完成,则重启所述第二预设数量的数据写入程序,以将所述第二批写入数据写入所述存储空间。
7.根据权利要求5所述的装置,其特征在于,还包括:
判断模块,用于判断主机上的写超前概率是否小于预设的概率阈值;
写处理模块,用于当所述判断模块的判断结果为所述写超前概率大于或等于预设的概率阈值时,从主机接收第一预设数量的第一批写入数据;执行所述第一批写入数据对应的数据写入程序,以将所述第一批写入数据写入存储空间,并从所述主机接收所述第一预设数量的第二批写入数据;执行所述第二批写入数据对应的数据写入程序,以将所述第二批写入数据写入所述存储空间;
所述接收模块具体用于当所述判断模块的判断结果为所述写超前概率小于预设的概率阈值时,执行所述从主机接收第一预设数量的第一批写入数据的步骤;
其中,所述写超前概率为在所述存储空间中写入所述第一预设数量的第一批写入数据前未接收到所述第一预设数量的第二批写入数据的概率。
8.根据权利要求5-7中任一项所述的装置,其特征在于,所述第一预设数量为32K比特,所述第二预设数量为64K比特。
9.一种终端设备,其特征在于,包括上述权利要求5-8中任一项所述的数据写处理装置。
CN201180000682.0A 2011-05-23 2011-05-23 数据写处理方法、装置和终端设备 Expired - Fee Related CN102203753B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/074513 WO2011137811A2 (zh) 2011-05-23 2011-05-23 数据写处理方法、装置和终端设备

Publications (2)

Publication Number Publication Date
CN102203753A true CN102203753A (zh) 2011-09-28
CN102203753B CN102203753B (zh) 2014-04-16

Family

ID=44662782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180000682.0A Expired - Fee Related CN102203753B (zh) 2011-05-23 2011-05-23 数据写处理方法、装置和终端设备

Country Status (2)

Country Link
CN (1) CN102203753B (zh)
WO (1) WO2011137811A2 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648878A (zh) * 2005-01-07 2005-08-03 清华大学 基于移动存储的计算机***磁盘同步写性能提高方法
US20060143319A1 (en) * 2004-12-29 2006-06-29 Hung-Yuan Hsu Method of establishing communication between a usb device and a host
CN1869855A (zh) * 2005-05-23 2006-11-29 深圳市江波龙电子有限公司 一种usb海量存储设备上应用程序与usb海量存储设备进行命令交互和双向数据传输的方法
CN101430663A (zh) * 2007-11-09 2009-05-13 上海奇码数字信息有限公司 缓存管理单元和缓存管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143319A1 (en) * 2004-12-29 2006-06-29 Hung-Yuan Hsu Method of establishing communication between a usb device and a host
CN1648878A (zh) * 2005-01-07 2005-08-03 清华大学 基于移动存储的计算机***磁盘同步写性能提高方法
CN1869855A (zh) * 2005-05-23 2006-11-29 深圳市江波龙电子有限公司 一种usb海量存储设备上应用程序与usb海量存储设备进行命令交互和双向数据传输的方法
CN101430663A (zh) * 2007-11-09 2009-05-13 上海奇码数字信息有限公司 缓存管理单元和缓存管理方法

Also Published As

Publication number Publication date
CN102203753B (zh) 2014-04-16
WO2011137811A3 (zh) 2012-02-16
WO2011137811A2 (zh) 2011-11-10

Similar Documents

Publication Publication Date Title
US9004349B2 (en) IC card and IC card system having suspend/resume functions
US20050108448A1 (en) Hardware assisted ATA command queuing
CN103034603A (zh) 多通道闪存卡控制装置及其控制方法
US8473784B2 (en) Storage apparatus and method of data processing
CN102945173A (zh) 用户程序在线升级***和升级方法
CN113377408A (zh) 一种高可靠sram型fpga在线升级方法及***
CN108572830A (zh) 一种嵌入式***及其引导程序的升级方法、***
CN103389942A (zh) 控制装置、存储装置及存储控制方法
CN110704236B (zh) 芯片flash数据的在线校验方法及计算机存储介质
WO2024139840A1 (zh) 设备修复方法、修复***及装置、电子设备及非易失性存储介质
US20090198919A1 (en) A Non-Volatile Memory Device, and Method of Accessing a Non-Volatile Memory Device
CN109426627A (zh) 数据存储装置及其操作方法
CN104898989A (zh) 一种大容量数据存储设备、方法及装置
US8595420B2 (en) Method for dispatching and transmitting data streams between host system and memory storage apparatus having non-volatile memory and smart card chip, memory controller, and memory storage apparatus
CN102203753B (zh) 数据写处理方法、装置和终端设备
CN109710187B (zh) NVMe SSD主控芯片的读命令加速方法、装置、计算机设备及存储介质
US20190108151A1 (en) Bridge device and data transferring method
CN100336043C (zh) 提高光学存储转移性能的装置、***和方法
CN101369238A (zh) Usb设备中异常监控复位处理方法
CN111506256B (zh) 减少写入效能变化并防止io阻塞的方法
CN100390766C (zh) 通用串行总线装置与其进行数据交换的方法
CN112346660A (zh) 数据存储方法及装置、数据读取方法及装置
CN102023906B (zh) 便携式终端的微处理器、便携式终端及其修复方法
CN103197915B (zh) 一种处理敏感指令的方法、装置以及物理机
CN106775483B (zh) 一种用于ssd的raid编解码***及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140416

Termination date: 20180523

CF01 Termination of patent right due to non-payment of annual fee