CN103955440A - 一种非易失存储设备及其进行数据操作的方法 - Google Patents
一种非易失存储设备及其进行数据操作的方法 Download PDFInfo
- Publication number
- CN103955440A CN103955440A CN201310698471.XA CN201310698471A CN103955440A CN 103955440 A CN103955440 A CN 103955440A CN 201310698471 A CN201310698471 A CN 201310698471A CN 103955440 A CN103955440 A CN 103955440A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- volatile memory
- action command
- memory apparatus
- 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
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供了一种非易失存储设备及其进行数据操作的方法,所述方法包括:接收主机端发来的特定操作命令,特定操作命令为除读写操作命令外的其他数据操作命令;将特定操作命令转换为对非易失性存储器件的读写操作命令,并根据读写操作命令从非易失性存储器件读取或写入数据;对读取或写入数据流进行对应于特定操作命令的特定操作,并将操作结果数据返回给主机端。借此,本发明通过非易失存储设备实现对数据进行除读出和写入的其他操作,其改变数据处理方法和流程,利用非易失性存储设备中芯片控制器的处理能力完成对数据内容操作命令,可以有效地节省数据带宽,提升对接口带宽的利用率,降低主机端CPU负载。在本说明书中,以闪存(flash)作为非易失性存储器件的一种实施例;但并不能认为本发明权利仅限于闪存。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种非易失存储设备及其进行数据操作的方法。
背景技术
现有非易失存储实现方案中,存储设备只负责按照主机端命令写入,读取数据,同时完成设备状态维护和数据完整性检查。对数据内容并不涉及任何操作。在主机端查找,排序,选择等操作时,会造成对数据带宽极大的浪费,也导致整机功耗上升。综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种非易失存储设备及其进行数据操作的方法,其改变数据处理方法和流程,利用闪存芯片控制器的处理能力,完成对数据内容操作命令,提升对数据带宽的利用率。
为了实现上述目的,本发明提供一种非易失存储设备进行数据操作的方法,包括:
接收主机端发来的特定操作命令,所述特定操作命令为除读写操作命令外的其他数据操作命令;
将所述特定操作命令转换为对闪存芯片的读写操作命令,并根据所述读写操作命令从所述闪存芯片读取或写入数据;
对读取或写入数据流进行对应于所述特定操作命令的特定操作,并将操作结果数据返回给所述主机端。
根据本发明的方法,接收主机端发来的特定操作命令的步骤中,所述特定操作命令包括:数据排序、数据查找、数据选择以及key-value对应查询。
根据本发明的方法,根据所述读写操作命令从所述闪存芯片读取或写入数 据的步骤包括:
通过非易失存储设备的中央处理器,数据缓冲器和闪存芯片控制器将数据从所述闪存芯片读取或写入数据。
根据本发明的方法,所述方法还包括:
主机端通过预定义接口命令格式或所述非易失存储设备供应商特定的命令格式向非易失存储设备发送所述特定操作命令。
根据本发明的方法,主机端通过预定义接口命令格式或所述非易失存储设备供应商特定的命令格式向非易失存储设备发送所述特定操作命令的步骤中,所述预定义接口命令格式包括:起始地址、数据长度、读写类型、特定操作类型以及特定操作参数。
本发明相应提供一种非易失存储设备,包括控制器以及闪存芯片,所述控制器包括:
设备接口,用于接收主机端发来的特定操作命令并将操作结果数据返回给所述主机端,所述特定操作命令为除读写操作命令外的其他数据操作命令;
中央处理器,将所述特定操作命令转换为对所述闪存芯片的读写操作命令,并根据所述读写操作命令从所述闪存芯片读取或写入数据;
特定操作执行部件,对读取或写入数据流进行对应于所述特定操作命令的特定操作,并将操作结果数据通过所述设备接口返回给所述主机端。
根据本发明的非易失存储设备,所述特定操作命令包括:数据排序、数据查找、数据选择以及key-value对应查询。
根据本发明的非易失存储设备,所述控制器还包括数据缓冲器以及闪存控制器,所述中央处理器、数据缓冲器和闪存芯片控制器将数据从所述闪存芯片读取或写入数据。
根据本发明的非易失存储设备,主机端通过预定义接口命令格式或所述非易失存储设备供应商特定的命令格式向非易失存储设备发送所述特定操作命令;所述预定义接口命令格式包括:起始地址、数据长度、读写类型、特定操作类型以及特定操作参数。
根据本发明的非易失存储设备,所述特定操作执行部件为所述中央处理器或硬件加速部件。
本发明通过设备接口接收主机端发来的特定操作命令,中央处理器将特定 操作命令转换为对闪存芯片的读写操作命令,并根据读写操作命令从闪存芯片读取或写入数据,特定操作执行部件对读取或写入数据流进行对应于特定操作命令的特定操作,并将操作结果数据通过设备接口返回给主机端。从而通过非易失存储设备实现对数据进行除读出和写入的其他操作,其改变数据处理方法和流程,利用闪存芯片控制器的处理能力完成对数据内容操作命令,可以有效地节省数据带宽,提升对数据带宽的利用率,降低主机端CPU负载。
附图说明
图1是本发明一种非易失存储设备的原理方框图;
图2是预定义接口命令格式一种实施例的示意图;
图3为供应商特殊操作命令的第一个FIS格式;
图4为供应商特殊操作命令的第二个FIS格式;
图5是本发明一种具体应用实施例的方框图;
图6是本发明一种非易失存储设备进行数据操作的方法的流程图;
图7是本发明非易失存储设备进行数据操作的一种具体应用实施例的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出本发明一种非易失存储设备的原理方框图,非易失存储设备100包括控制器10以及闪存芯片20,控制器10包括设备接口11、中央处理器12、特定操作执行部件13。该非易失存储设备100优选为固态硬盘。
设备接口11,用于接收主机端发来的特定操作命令并将操作结果数据返回给主机端,特定操作命令为除读写操作命令外的其他数据操作命令。优选的是特定操作命令包括:数据排序、数据查找、数据选择以及key-value(键-值)对应查询等数据操作命令。
中央处理器,将特定操作命令转换为对闪存芯片的读写操作命令,并根据读写操作命令从闪存芯片读取或写入数据。具体的,读取或写入的数据通过数 据缓冲器进行缓存,便于对数据进行操作。
特定操作执行部件13,对读取或写入数据流进行对应于特定操作命令的特定操作,并将操作结果数据通过设备接口返回给主机端。例如:特定操作命令为数据查找命令,这特定操作执行部件13对数据进行查找,并将查找结果通过设备接口返回给主机端。
本发明通过设备接口11接收主机端发来的特定操作命令,中央处理器12将特定操作命令转换为对闪存芯片的读写操作命令,并根据读写操作命令从闪存芯片读取或写入数据,特定操作执行部件13对读取或写入数据流进行对应于特定操作命令的特定操作,并将操作结果数据通过设备接口返回给主机端。从而通过非易失存储设备100实现对数据进行除读出和写入的其他操作,可以有效地节省数据带宽,降低主机端CPU负载。
优选的是,主机端可通过预定义接口命令格式或非易失存储设备供应商特定的命令格式向非易失存储设备100发送该特定操作命令。图2是预定义接口命令格式一种实施例的示意图,在图2中,预定义接口命令格式包括:起始地址、数据长度、读写类型、特定操作类型以及特定操作参数,其中,Byte0仅表示起始地址,不表示每个条目只占一个比特。在一个实施例中非易失存储设备供应商特定的命令由一系列供应商特定FIS(Frame information structure,是SATA协议中规定的一种信息结构)组成,分别描述如下:图3为特殊操作命令的第一个FIS,FIS Type为C7h,表示需要操作的磁盘起始地址和数据的字节数。图4为特殊操作命令的第二个,直至第N个FIS命令格式;FIS Type为D4h,Con’t项为8’h80时表示该FIS不是此命令序列的最后一帧,Con’t项为8’h00时表示该FIS为次命令序列的最后一帧。
图5是本发明一种具体应用实施例的方框图。非易失存储设备100包括控制器10以及闪存芯片20,控制器10包括设备接口11、中央处理器12、硬件加速模块14、数据缓冲器15以及闪存芯片控制器16。控制器10通过设备接口11与主机端200连接。本发明通过设备接口11接收主机端发来的特定操作命令,该特定操作命令包括:查找、排序及选择等操作命令;由中央处理器12将该特定操作命令转换为数据读写操作命令,并通过闪存芯片控制器16执行该数据读写操作命令,数据缓冲器15对需要读出或写入的数据进行数据缓存,也即由中央处理器11、数据缓冲器15和闪存芯片控制器16将数据从闪存芯片20读取或 写入数据;由中央处理器和硬件加速模块14对读写数据流进行主机端200要求的操作,即该特定操作命令对应的数据操作(包括但不限于:查找,排序,选择等)。可以有效地节省数据带宽,降低主机端CPU负载。
图6是本发明一种非易失存储设备进行数据操作的方法的流程图,该方法通过如图1所示的设备100实现,该方法包括:
步骤S601,接收主机端发来的特定操作命令,特定操作命令为除读写操作命令外的其他数据操作命令。本步骤通过设备接口11实现。特定操作命令包括:数据排序、数据查找、数据选择以及key-value对应查询。
步骤S602,将特定操作命令转换为对闪存芯片的读写操作命令,并根据读写操作命令从闪存芯片读取或写入数据。本步骤通过中央处理器12实现。
步骤S603,对读取或写入数据流进行对应于特定操作命令的特定操作,并将操作结果数据返回给主机端。本步骤通过特定操作执行部件13实现。
优选的是,该方法还包括:主机端通过预定义接口命令格式或非易失存储设备供应商特定的命令格式向非易失存储设备发送特定操作命令。预定义接口命令格式包括:起始地址、数据长度、读写类型、特定操作类型以及特定操作参数。
优选的是,步骤S602包括:通过非易失存储设备的中央处理器,数据缓冲器和闪存芯片控制器将数据从闪存芯片读取或写入数据。
图7是本发明非易失存储设备进行数据操作的一种具体应用实施例的流程图,该流程包括如下步骤:
步骤S701,主机端发出特定操作命令。主机端可通过预定义接口命令格式或非易失存储设备供应商特定的命令格式向固态硬盘发送该特定操作命令。该特定操作命令为针对某段地址数据的操作,例如排序、选择等。
步骤S702,固态硬盘的设备接口接收到命令后,通过中央处理器将该特定操作命令转换为对闪存芯片的数据读写命令。
步骤S703,硬件加速模块或中央处理器对数据执行特定数据操作。
步骤S704,固态硬盘通过设备接口向主机端反馈操作结果。
综上所述,本发明通过设备接口接收主机端发来的特定操作命令,中央处理器将特定操作命令转换为对闪存芯片的读写操作命令,并根据读写操作命令从闪存芯片读取或写入数据,特定操作执行部件对读取或写入数据流进行对应 于特定操作命令的特定操作,并将操作结果数据通过设备接口返回给主机端。从而通过非易失存储设备实现对数据进行除读出和写入的其他操作,可以有效地节省数据带宽,降低主机端CPU负载。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种非易失存储设备进行数据操作的方法,其特征在于,包括:
接收主机端发来的特定操作命令,所述特定操作命令为除读写操作命令外的其他数据操作命令;
将所述特定操作命令转换为对非易失性存储器件的读写操作命令,并根据所述读写操作命令从所述非易失性存储器件读取或写入数据;
对读取或写入数据流进行对应于所述特定操作命令的特定操作,并将操作结果数据返回给所述主机端。
2.根据权利要求1所述的方法,其特征在于,接收主机端发来的特定操作命令的步骤中,所述特定操作命令包括:数据排序、数据查找、数据选择以及key-value对应查询。
3.根据权利要求1所述的方法,其特征在于,根据所述读写操作命令从所述闪存芯片读取或写入数据的步骤包括:
通过非易失存储设备的中央处理器,数据缓冲器和闪存芯片控制器将数据从所述闪存芯片读取或写入数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
主机端通过预定义接口命令格式或所述非易失存储设备供应商特定的命令格式向非易失存储设备发送所述特定操作命令。
5.根据权利要求4所述的方法,其特征在于,主机端通过预定义接口命令格式或所述非易失存储设备供应商特定的命令格式向非易失存储设备发送所述特定操作命令的步骤中,所述预定义接口命令格式包括:起始地址、数据长度、读写类型、特定操作类型以及特定操作参数。
6.一种非易失存储设备,其特征在于,包括控制器以及闪存芯片,所述控制器包括:
设备接口,用于接收主机端发来的特定操作命令并将操作结果数据返回给所述主机端,所述特定操作命令为除读写操作命令外的其他数据操作命令;
中央处理器,将所述特定操作命令转换为对所述闪存芯片的读写操作命令,并根据所述读写操作命令从所述闪存芯片读取或写入数据;
特定操作执行部件,对读取或写入数据流进行对应于所述特定操作命令的特定操作,并将操作结果数据通过所述设备接口返回给所述主机端。
7.根据权利要求1所述的非易失存储设备,其特征在于,所述特定操作命令包括:数据排序、数据查找、数据选择以及key-value对应查询。
8.根据权利要求1所述的非易失存储设备,其特征在于,所述控制器还包括数据缓冲器以及闪存控制器,所述中央处理器、数据缓冲器和闪存芯片控制器将数据从所述闪存芯片读取或写入数据。
9.根据权利要求1所述的非易失存储设备,其特征在于,主机端通过预定义接口命令格式或所述非易失存储设备供应商特定的命令格式向非易失存储设备发送所述特定操作命令;所述预定义接口命令格式包括:起始地址、数据长度、读写类型、特定操作类型以及特定操作参数。
10.根据权利要求9所述的非易失存储设备,其特征在于,所述特定操作执行部件为所述中央处理器或硬件加速部件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310698471.XA CN103955440A (zh) | 2013-12-18 | 2013-12-18 | 一种非易失存储设备及其进行数据操作的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310698471.XA CN103955440A (zh) | 2013-12-18 | 2013-12-18 | 一种非易失存储设备及其进行数据操作的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103955440A true CN103955440A (zh) | 2014-07-30 |
Family
ID=51332715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310698471.XA Pending CN103955440A (zh) | 2013-12-18 | 2013-12-18 | 一种非易失存储设备及其进行数据操作的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103955440A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016119153A1 (zh) * | 2015-01-28 | 2016-08-04 | 北京麓柏科技有限公司 | 一种闪存存储阵列的实现方法及装置 |
CN106126124A (zh) * | 2016-06-29 | 2016-11-16 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN106469198A (zh) * | 2016-08-31 | 2017-03-01 | 华为技术有限公司 | 键值存储方法、装置及*** |
CN106663178A (zh) * | 2014-09-26 | 2017-05-10 | 英特尔公司 | 用于使用固态驱动器来加速计算密集型操作的技术 |
CN107003816A (zh) * | 2016-06-14 | 2017-08-01 | 华为技术有限公司 | 数据访问方法和相关装置及*** |
US10355205B2 (en) | 2014-12-18 | 2019-07-16 | Intel Corporation | Resistive memory cells including localized filamentary channels, devices including the same, and methods of making the same |
CN110392092A (zh) * | 2018-04-17 | 2019-10-29 | 三星电子株式会社 | 与网络结构连接的网络存储设备 |
US10516109B2 (en) | 2014-12-24 | 2019-12-24 | Intel Corporation | Resistive memory cells and precursors thereof, methods of making the same, and devices including the same |
CN113535719A (zh) * | 2021-07-07 | 2021-10-22 | 锐掣(杭州)科技有限公司 | 数据过滤方法、数据过滤装置、存储介质及产品 |
US12047447B2 (en) | 2018-04-17 | 2024-07-23 | Samsung Electronics Co., Ltd. | Network storage device storing large amount of data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050223158A1 (en) * | 2004-04-05 | 2005-10-06 | Sun-Teck See | Flash memory system with a high-speed flash controller |
CN100470526C (zh) * | 2006-03-09 | 2009-03-18 | 联发科技股份有限公司 | 用于嵌入式***的命令控制器及预取模块及其控制方法 |
CN102231141A (zh) * | 2011-06-21 | 2011-11-02 | 中兴通讯股份有限公司 | 一种数据读、写方法及*** |
-
2013
- 2013-12-18 CN CN201310698471.XA patent/CN103955440A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050223158A1 (en) * | 2004-04-05 | 2005-10-06 | Sun-Teck See | Flash memory system with a high-speed flash controller |
CN100470526C (zh) * | 2006-03-09 | 2009-03-18 | 联发科技股份有限公司 | 用于嵌入式***的命令控制器及预取模块及其控制方法 |
CN102231141A (zh) * | 2011-06-21 | 2011-11-02 | 中兴通讯股份有限公司 | 一种数据读、写方法及*** |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106663178A (zh) * | 2014-09-26 | 2017-05-10 | 英特尔公司 | 用于使用固态驱动器来加速计算密集型操作的技术 |
US10355205B2 (en) | 2014-12-18 | 2019-07-16 | Intel Corporation | Resistive memory cells including localized filamentary channels, devices including the same, and methods of making the same |
US10516109B2 (en) | 2014-12-24 | 2019-12-24 | Intel Corporation | Resistive memory cells and precursors thereof, methods of making the same, and devices including the same |
WO2016119153A1 (zh) * | 2015-01-28 | 2016-08-04 | 北京麓柏科技有限公司 | 一种闪存存储阵列的实现方法及装置 |
US10437481B2 (en) | 2016-06-14 | 2019-10-08 | Huawei Technologies Co., Ltd. | Data access method and related apparatus and system |
CN107003816A (zh) * | 2016-06-14 | 2017-08-01 | 华为技术有限公司 | 数据访问方法和相关装置及*** |
CN107003816B (zh) * | 2016-06-14 | 2020-06-26 | 华为技术有限公司 | 数据访问方法和相关装置及*** |
CN106126124B (zh) * | 2016-06-29 | 2019-05-21 | 北京联想核芯科技有限公司 | 一种数据处理方法及电子设备 |
CN106126124A (zh) * | 2016-06-29 | 2016-11-16 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
WO2018040629A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 键值存储方法、装置及*** |
CN106469198A (zh) * | 2016-08-31 | 2017-03-01 | 华为技术有限公司 | 键值存储方法、装置及*** |
CN106469198B (zh) * | 2016-08-31 | 2019-10-15 | 华为技术有限公司 | 键值存储方法、装置及*** |
US11048642B2 (en) | 2016-08-31 | 2021-06-29 | Huawei Technologies Co., Ltd. | Key-value storage method, apparatus, and system |
CN110392092A (zh) * | 2018-04-17 | 2019-10-29 | 三星电子株式会社 | 与网络结构连接的网络存储设备 |
CN110392092B (zh) * | 2018-04-17 | 2024-07-12 | 三星电子株式会社 | 与网络结构连接的网络存储设备 |
US12047447B2 (en) | 2018-04-17 | 2024-07-23 | Samsung Electronics Co., Ltd. | Network storage device storing large amount of data |
CN113535719A (zh) * | 2021-07-07 | 2021-10-22 | 锐掣(杭州)科技有限公司 | 数据过滤方法、数据过滤装置、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103955440A (zh) | 一种非易失存储设备及其进行数据操作的方法 | |
US9043549B2 (en) | Memory storage apparatus, memory controller, and method for transmitting and identifying data stream | |
TWI594121B (zh) | 使用資料壓縮的快取技術 | |
US20130073798A1 (en) | Flash memory device and data management method | |
KR101811297B1 (ko) | 불휘발성 메모리를 제어하는 메모리 컨트롤러 | |
CN105224237A (zh) | 一种数据存储方法及装置 | |
US9324435B2 (en) | Data transmitting method, memory control circuit unit and memory storage apparatus | |
TW201738751A (zh) | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 | |
EP3776163A1 (en) | Specifying media type in write commands | |
CN101727395A (zh) | 闪存设备的管理***、方法及闪存设备 | |
CN104239518A (zh) | 重复数据删除方法和装置 | |
CN103150258A (zh) | 一种固态存储***的写入、读取及垃圾收集方法 | |
CN102722455B (zh) | 一种闪存设备中数据存储的方法及装置 | |
US20120173955A1 (en) | Data writing and reading method, and memory controller and memory storage apparatus using the same | |
CN104699622A (zh) | 数据储存装置以及其数据抹除方法 | |
CN105094709A (zh) | 一种固态盘存储***的动态数据压缩方法 | |
WO2017132797A1 (zh) | 数据整理方法、存储设备、存储控制器以及存储阵列 | |
CN104092670A (zh) | 网络缓存服务器处理文件的方法及处理缓存文件的设备 | |
CN113841128B (zh) | 大型数据读取方法、装置及可读介质 | |
CN103034592A (zh) | 数据处理方法和装置 | |
KR20190052366A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
TWI534814B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN114579055B (zh) | 磁盘存储方法、装置、设备及介质 | |
US9524236B1 (en) | Systems and methods for performing memory management based on data access properties | |
CN104035731B (zh) | 一种刀片式服务器的存储头结点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140730 |