CN109683822B - 一种ssd soc芯片内容地址搜索控制器的方法及其系统 - Google Patents

一种ssd soc芯片内容地址搜索控制器的方法及其系统 Download PDF

Info

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
Application number
CN201811556788.9A
Other languages
English (en)
Other versions
CN109683822A (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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201811556788.9A priority Critical patent/CN109683822B/zh
Publication of CN109683822A publication Critical patent/CN109683822A/zh
Application granted granted Critical
Publication of CN109683822B publication Critical patent/CN109683822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0658Controller construction 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/0673Single storage device
    • G06F3/0679Non-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芯片内容地址搜索控制器的方法及其系统。
背景技术
目前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芯片内容地址搜索控制器的系统,其特征在于,还包括写入单元,用于在搜索结束后,将结束标志写到控制器寄存器中。
CN201811556788.9A 2018-12-19 2018-12-19 一种ssd soc芯片内容地址搜索控制器的方法及其系统 Active CN109683822B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 群联电子股份有限公司 数据存取方法、使用此方法的控制器与存储系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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