CN109683822B - 一种ssd soc芯片内容地址搜索控制器的方法及其系统 - Google Patents
一种ssd soc芯片内容地址搜索控制器的方法及其系统 Download PDFInfo
- Publication number
- CN109683822B CN109683822B CN201811556788.9A CN201811556788A CN109683822B CN 109683822 B CN109683822 B CN 109683822B CN 201811556788 A CN201811556788 A CN 201811556788A CN 109683822 B CN109683822 B CN 109683822B
- Authority
- CN
- China
- Prior art keywords
- controller
- address
- search
- data format
- unit
- 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
Links
Images
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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- 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/0658—Controller construction arrangements
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种SSD SOC芯片内容地址搜索控制器的方法及其系统;其中,SSD SOC芯片内容地址搜索控制器的方法,包括以下步骤:S1,通过AHB总线配置控制器的参数,包括搜索空间的起始地址或结束地址,并配置启动控制器;S2,判断操作是搜索数据格式还是填充数据;S3,根据配置的起始地址或结束地址,及数据格式,进行遍历搜索,将数据格式一致的地址记录下来,并写到控制器的寄存器中,提供给CPU观察;S4,根据配置的起始地址或结束地址,按照配置的填写数据格式。本发明减轻了CPU的负载,简化了软件的操作流程,提高了效率,尤其在搜索操作较为频繁的时候,采用硬件的控制器,效率提升更加明显,且成本低,能够更好地满足需求。
Description
技术领域
本发明涉及固态存储技术领域,更具体地说是指一种SSD SOC芯片内容地址搜索控制器的方法及其系统。
背景技术
目前SSD(固态硬盘)SOC(片上系统)软件应用过程中,固件在使用过程中,经常会使用到一段空间的全0或全1初始化,及全0或全1的检测,或者在一段空间中根据特征码去搜索具体的位置,或者一段空间内容生成CRC(循环冗余校验)校验;通常软件将这部分工作都交给CPU负责,导致CPU负载大,需要额外的代码存储开销,并且效率较低,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种SSD SOC芯片内容地址搜索控制器的方法及其系统。
为实现上述目的,本发明采用于下技术方案:
一种SSD SOC芯片内容地址搜索控制器的方法,包括以下步骤:
S1,通过AHB总线配置控制器的参数,包括搜索空间的起始地址或结束地址,并配置启动控制器;
S2,判断操作是搜索数据格式还是填充数据;若是搜索数据格式,进入S3;若是填充数据,则进入S4;
S3,根据配置的起始地址或结束地址,及数据格式,进行遍历搜索,将数据格式一致的地址记录下来,并写到控制器的寄存器中,提供给CPU观察;
S4,根据配置的起始地址或结束地址,按照配置的填写数据格式。
其进一步技术方案为:所述S3还包括:在搜索过程中同时对这段空间的内容进行循环冗余校验码计算,并将计算结果写入控制器寄存器中,提供给CPU观察。
其进一步技术方案为:所述S3之后,还包括:在搜索结束后,将结束标志写到控制器寄存器中。
其进一步技术方案为:所述循环冗余校验码为32位。
其进一步技术方案为:所述S4还包括:对这段空间的内容进行覆盖,填写结束之后,将结束标志写到控制器寄存器中。
一种SSD SOC芯片内容地址搜索控制器的系统,包括配置启动单元,判断单元,搜索单元,及填写单元;
所述配置启动单元,用于通过AHB总线配置控制器的参数,包括搜索空间的起始地址或结束地址,并配置启动控制器;
所述判断单元,用于判断操作是搜索数据格式还是填充数据;
所述搜索单元,用于根据配置的起始地址或结束地址,及数据格式,进行遍历搜索,将数据格式一致的地址记录下来,并写到控制器的寄存器中,提供给CPU观察;
所述填写单元,用于根据配置的起始地址或结束地址,按照配置的填写数据格式。
其进一步技术方案为:所述搜索单元还包括:用于在搜索过程中同时对这段空间的内容进行循环冗余校验码计算,并将计算结果写入控制器寄存器中,提供给CPU观察。
其进一步技术方案为:所述循环冗余校验码为32位。
其进一步技术方案为:还包括写入单元,用于在搜索结束后,将结束标志写到控制器寄存器中。
其进一步技术方案为:所述填写单元还包括:用于对这段空间的内容进行覆盖,填写结束之后,将结束标志写到控制器寄存器中。
本发明与现有技术相比的有益效果是:减轻了CPU的负载,简化了软件的操作流程,提高了效率,尤其在搜索操作较为频繁的时候,采用硬件的控制器,效率提升更加明显,且成本低,能够更好地满足需求。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为本发明一种SSD SOC芯片内容地址搜索控制器的方法流程图;
图2为图1的运用框图;
图3为图1运用的状态转移图;
图4为本发明一种SSD SOC芯片内容地址搜索控制器的系统方框图。
10 配置启动单元 20 判断单元
30 搜索单元 40 写入单元
50 填写单元
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1到图4所示的具体实施例,其中,本发明公开了一种SSD SOC芯片内容地址搜索控制器的方法,包括以下步骤:
S1,通过AHB总线配置控制器的参数,包括搜索空间的起始地址或结束地址,并配置启动控制器;
S2,判断操作是搜索数据格式还是填充数据;若是搜索数据格式,进入S3;若是填充数据,则进入S4;
S3,根据配置的起始地址或结束地址,及数据格式,进行遍历搜索,将数据格式一致的地址记录下来,并写到控制器的寄存器中,提供给CPU观察;
S4,根据配置的起始地址或结束地址,按照配置的填写数据格式。
其中,所述S3还包括:在搜索过程中同时对这段空间的内容进行循环冗余校验码计算,并将计算结果写入控制器寄存器中,提供给CPU观察。
进一步地,在所述S3之后,还包括:在搜索结束后,将结束标志写到控制器寄存器中。
其中,所述循环冗余校验码为32位,对一段地址空间的内容进行循环冗余校验计算,得到校验码。
其中,所述S4还包括:对这段空间的内容进行覆盖,填写结束之后,将结束标志写到控制器寄存器中。
如图2所示,整体设计模块框图及数据流示意图;
控制器寄存器:负责将AHB配置接口的配置信息转换成控制信号,或者将控制器控制中心产生的状态及计算结果存入控制器寄存器内部中,供CPU查看;
控制器控制中心:用于接收控制器寄存器发送过来的控制信号并送给循环冗余校验码或计算单元,包括:开始和结束标志,及选择的模式(全0或全1初始化,全0或全1判断,固定格式按照特定方式(等于或大于或大于等于或小于或小于等于)搜索,一段地址空间生成循环冗余校验码等;同时也会将运算结果,及相关标志位送给控制器寄存器,方便CPU查询使用;
计算单元:内容地址搜索控制器的运算单元,将从总线状态机中得到的数据,进行运算(等于或大于或大于等于或小于或小于等于),将符合运算的地址,通过控制器控制中心给控制器寄存器,供CPU查看;
循环冗余校验码:对一段地址空间的内容进行循环冗余校验计算,得到校验码;
总线状态机:总线的状态机,根据配置,产生主总线,支持单个和突发操作。
其中,内部总线(BUS)为通用总线,包括且不限于AMBA(高级微控制器总线架构)总线。
如图3所示,总线状态机的状态转移图;
其中,start_pos:地址内容控制器开始搜索/初始化标志位;
start_process:主总线从开始搜索到结束搜索;
use_single:剩余的地址,主总线不足以发起读写操作;
hreadyout:被访问空间准备好的信号;
go_to_idle:总线传送数据结束结束标志。
本发明由硬件自动完成初始化或检测或搜索,减少CPU负载,减少了软件的复杂度,并且硬件自动搜索,搜索速度快,能够根据内容,搜索一段空间,并将符合内容的地址记录下来,灵活性高,性能高,成本低。
如图4所示,本发明还公开了一种SSD SOC芯片内容地址搜索控制器的系统,包括配置启动单元10,判断单元20,搜索单元30,及填写单元50;
所述配置启动单元10,用于通过AHB总线配置控制器的参数,包括搜索空间的起始地址或结束地址,并配置启动控制器;
所述判断单元20,用于判断操作是搜索数据格式还是填充数据;
所述搜索单元30,用于根据配置的起始地址或结束地址,及数据格式,进行遍历搜索,将数据格式一致的地址记录下来,并写到控制器的寄存器中,提供给CPU观察;
所述填写单元50,用于根据配置的起始地址或结束地址,按照配置的填写数据格式。
其中,所述搜索单元30还包括:用于在搜索过程中同时对这段空间的内容进行循环冗余校验码计算,并将计算结果写入控制器寄存器中,提供给CPU观察。
进一步地,所述循环冗余校验码为32位。
其中,该系统还包括写入单元40,用于在搜索结束后,将结束标志写到控制器寄存器中。
其中,所述填写单元50还包括:用于对这段空间的内容进行覆盖,填写结束之后,将结束标志写到控制器寄存器中。
本发明由硬件自动完成初始化或检测或搜索,减少CPU负载,减少了软件的复杂度,并且硬件自动搜索,搜索速度快。
本发明将搜索操作完全有硬件完成,软件仅需要简单设置让控制器运转起来;支持包含但不限于如下功能:完成全0或全1的初始化,全0或全1检测,特定格式的检索,支持大于或大于等于或小于或小于等于设置,支持软件中断搜索等功能;搜索空间及特定的格式软件可配置,灵活性高;采用AHB(先进高性能总线)总线封装,可配置数据位宽,灵活性高,性能高。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (6)
1.一种SSD SOC芯片内容地址搜索控制器的方法,其特征在于,包括以下步骤:
S1,通过AHB总线配置控制器的参数,包括搜索空间的起始地址或结束地址,并配置启动控制器;
S2,判断操作是搜索数据格式还是填充数据;若是搜索数据格式,进入S3;若是填充数据,则进入S4;
S3,根据配置的起始地址或结束地址,及数据格式,进行遍历搜索,将数据格式一致的地址记录下来,并写到控制器的寄存器中,提供给CPU观察;
S4,根据配置的起始地址或结束地址,按照配置的填写数据格式;
所述S3还包括:在搜索过程中同时对这段空间的内容进行循环冗余校验码计算,并将计算结果写入控制器寄存器中,提供给CPU观察;所述S4还包括:对这段空间的内容进行覆盖,填写结束之后,将结束标志写到控制器寄存器中。
2.根据权利要求1所述的一种SSD SOC芯片内容地址搜索控制器的方法,其特征在于,所述S3之后,还包括:在搜索结束后,将结束标志写到控制器寄存器中。
3.根据权利要求1所述的一种SSD SOC芯片内容地址搜索控制器的方法,其特征在于,所述循环冗余校验码为32位。
4.一种SSD SOC芯片内容地址搜索控制器的系统,其特征在于,包括配置启动单元,判断单元,搜索单元,及填写单元;
所述配置启动单元,用于通过AHB总线配置控制器的参数,包括搜索空间的起始地址或结束地址,并配置启动控制器;
所述判断单元,用于判断操作是搜索数据格式还是填充数据;
所述搜索单元,用于根据配置的起始地址或结束地址,及数据格式,进行遍历搜索,将数据格式一致的地址记录下来,并写到控制器的寄存器中,提供给CPU观察;
所述填写单元,用于根据配置的起始地址或结束地址,按照配置的填写数据格式;
所述搜索单元还包括:用于在搜索过程中同时对这段空间的内容进行循环冗余校验码计算,并将计算结果写入控制器寄存器中,提供给CPU观察;
所述填写单元还包括:用于对这段空间的内容进行覆盖,填写结束之后,将结束标志写到控制器寄存器中。
5.根据权利要求4所述的一种SSD SOC芯片内容地址搜索控制器的系统,其特征在于,所述循环冗余校验码为32位。
6.根据权利要求4所述的一种SSD SOC芯片内容地址搜索控制器的系统,其特征在于,还包括写入单元,用于在搜索结束后,将结束标志写到控制器寄存器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811556788.9A CN109683822B (zh) | 2018-12-19 | 2018-12-19 | 一种ssd soc芯片内容地址搜索控制器的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811556788.9A CN109683822B (zh) | 2018-12-19 | 2018-12-19 | 一种ssd soc芯片内容地址搜索控制器的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109683822A CN109683822A (zh) | 2019-04-26 |
CN109683822B true CN109683822B (zh) | 2022-03-29 |
Family
ID=66186429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811556788.9A Active CN109683822B (zh) | 2018-12-19 | 2018-12-19 | 一种ssd soc芯片内容地址搜索控制器的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683822B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104571946A (zh) * | 2014-11-28 | 2015-04-29 | 中国科学院上海微系统与信息技术研究所 | 一种支持逻辑电路快速查询的存储器装置及其访问方法 |
CN108763421A (zh) * | 2018-05-24 | 2018-11-06 | 湖南国科微电子股份有限公司 | 一种基于逻辑电路的数据搜索方法及系统 |
CN109036493A (zh) * | 2018-06-11 | 2018-12-18 | 西北工业大学 | 一种具有检错纠错机制的NAND Flash控制器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1627284B1 (en) * | 2003-05-23 | 2018-10-24 | IP Reservoir, LLC | Intelligent data storage and processing using fpga devices |
US8245101B2 (en) * | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
CN101576853B (zh) * | 2008-05-06 | 2011-12-21 | 群联电子股份有限公司 | 数据存取方法、使用此方法的控制器与存储系统 |
-
2018
- 2018-12-19 CN CN201811556788.9A patent/CN109683822B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104571946A (zh) * | 2014-11-28 | 2015-04-29 | 中国科学院上海微系统与信息技术研究所 | 一种支持逻辑电路快速查询的存储器装置及其访问方法 |
CN108763421A (zh) * | 2018-05-24 | 2018-11-06 | 湖南国科微电子股份有限公司 | 一种基于逻辑电路的数据搜索方法及系统 |
CN109036493A (zh) * | 2018-06-11 | 2018-12-18 | 西北工业大学 | 一种具有检错纠错机制的NAND Flash控制器 |
Non-Patent Citations (1)
Title |
---|
"基于SOPC的NAND_Flash控制器设计";许芮铭;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20170215(第2017年第02期);第I137-98页正文第21-51页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109683822A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2031492B1 (en) | Data storage device and data storage method | |
US8166258B2 (en) | Skip operations for solid state disks | |
US7200698B1 (en) | Disk drive and method for data transfer initiated by optional disk-drive commands on a serial interface that only supports standard disk-drive commands | |
TWI592865B (zh) | 資料讀取方法、資料寫入方法及使用所述方法的儲存控制器 | |
US20160342463A1 (en) | Data protection in a namespace | |
US11249897B2 (en) | Data storage device and operating method thereof | |
CN105702300A (zh) | 一种基于FPGA的NAND Flash容错系统 | |
US8266371B2 (en) | Non-volatile storage device, host device, non-volatile storage system, data recording method, and program | |
CN101236524A (zh) | 混合硬盘驱动器、计算机系统、闪存直接存储器存取电路 | |
US20140019670A1 (en) | Data writing method, memory controller, and memory storage device | |
CN105843749A (zh) | 一种基于FPGA的NAND Flash容错方法 | |
US20110023052A1 (en) | Compressed data managing system and method for circular buffer | |
CN104461925A (zh) | 一种存储设备地址对齐的自动纠正方法和装置 | |
CN109669635B (zh) | 用于固态存储主控芯片的命令lba重合检测方法及装置 | |
CN107329929B (zh) | 一种基于SoC FPGA的数据传输系统及数据传输方法 | |
CN109683822B (zh) | 一种ssd soc芯片内容地址搜索控制器的方法及其系统 | |
TW202044046A (zh) | 資料儲存裝置與資料處理方法 | |
CN110795373B (zh) | 一种i2c总线到并行总线的转换方法、终端及存储介质 | |
CN110597741B (zh) | 一种l2p表的读写、更新方法及l2p表 | |
CN111352865B (zh) | 存储控制器的写缓存 | |
CN218631411U (zh) | 一种校验写入状态的固态存储器 | |
US20050086454A1 (en) | System and methods for providing a debug function built-in type microcomputer | |
US10838621B2 (en) | Method and flash memory controller capable of avoiding inefficient memory block swap or inefficient garbage collection | |
CN104424124A (zh) | 内存装置、电子设备和用于控制内存装置的方法 | |
CN105205017A (zh) | 一种基于pcie ssd的存储控制器 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |