CN116189747A - 一种用于生成nand校验数据的xore模块配置系统及方法 - Google Patents
一种用于生成nand校验数据的xore模块配置系统及方法 Download PDFInfo
- Publication number
- CN116189747A CN116189747A CN202310183339.9A CN202310183339A CN116189747A CN 116189747 A CN116189747 A CN 116189747A CN 202310183339 A CN202310183339 A CN 202310183339A CN 116189747 A CN116189747 A CN 116189747A
- Authority
- CN
- China
- Prior art keywords
- xore
- module
- data
- nand
- interface
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开一种用于生成NAND校验数据的XORE模块配置系统及方法,配置系统包括NAND控制器、XORE模块以及仲裁模块,每个NAND控制器和XORE模块均分配一组ID号码,并且所有NAND控制器和XORE模块都连接至仲裁模块,系统工作时,通过ID号码绑定NAND控制器和XORE模块,使得NAND控制器的数据通过仲裁模块发送至对应ID号码的XORE模块来生成校验数据。每个XORE模块设置了两组相同的配置接口来接收NAND控制器发送的配置信息,当XORE通过接口1被启动时,接口2接收并缓存下一轮操作所需配置信息,本轮计算结束后,则立即开启下一轮工作。本发明在XORE数量有限的前提下,尽可能高效的实现校验信息的生成以及NAND数据的写入。
Description
技术领域
本发明涉及存储领域,具体是一种用于生成NAND校验数据的XORE模块配置系统及方法。
背景技术
由于NAND存储器技术原理的限制,数据写入后会有一定概率出现错误,需要一种数据纠错机制保证出现少量错误时仍可恢复原有信息,而XORE模块即实现了这样一种功能,它通过将多组写入NAND的数据进行异或的方式生成校验信息,并也将其写入NAND,当某一组数据出现错误时,可通过将校验信息与其他数据进行异或的方式将错误内容恢复。
为实现上述流程,需要负责数据写入的NAND控制器模块和负责校验信息生成的XORE模块配合工作,而由于一个芯片中可能集成多个NAND控制器和XORE,同时受生产成本限制并综合考虑实际需求,XORE模块的数量需求往往少于NAND控制器,因此需要一种灵活高效的方式实现两者配对,完成校验信息的生成,并将其与被保护数据一起写入NAND存储器。
发明内容
本发明要解决的技术问题是提供一种用于生成NAND校验数据的XORE模块配置系统及方法,将XORE模块与NAND控制器灵活连接及配置,在XORE数量有限的前提下,尽可能高效的实现校验信息的生成以及NAND数据的写入。
为了解决所述技术问题,本发明采用的技术方案是:一种用于生成NAND校验数据的XORE模块配置系统,包括N个NAND控制器、M个XORE模块以及连接于括N个NAND控制器与M个XORE模块之间的仲裁模块,N、M均为正整数,并且N≥2M;每个NAND控制器和XORE模块均分配一组ID号码,并且所有NAND控制器和XORE模块都连接至仲裁模块,系统工作时,通过ID号码绑定NAND控制器和XORE模块,使得NAND控制器的数据通过仲裁模块发送至对应ID号码的XORE模块来生成校验数据;每个XORE模块设置了两组相同的配置接口来接收NAND控制器发送的配置信息,当XORE通过接口1被启动时,接口2接收并缓存下一轮操作所需配置信息,本轮计算结束后,则立即开启下一轮工作。
进一步的,本系统只实现指定ID号码的NAND控制器与XORE模块之间的数据传输;即:NAND控制器确定当前与其配合的XORE模块及该模块的配置接口后,NAND控制器向仲裁模块发送数据时,将XORE模块的ID号及接口号写入数据流的指定位置,使数据发送至指定ID号码的XORE模块的指定接口;XORE模块确定与其配合的NAND控制器ID号码后,来自其他NAND控制器的数据均不予处理;XORE模块确定空闲接口状态,当此接口被配置后,确定与其配合的NAND控制器ID号码并停止接收新的配置信息,通过此接口进行下一轮操作时,来自其他NAND控制器的数据均不予处理。
进一步的,本系统实现不同长度校验数据的生成功能,即:NAND控制器确定校验数据的长度以及需要生成校验数据的数据流总长度后,NAND控制器检查数据流,当发现足够多的数据发送至XORE模块后,停止发送数据,之后从XORE模块取出生成好的校验数据并写入NAND存储器;XORE模块确定校验数据的长度以及需要生成校验数据的数据流总长度后,以校验数据的长度为一组,与下一组数据进行异或,直至接收的数据长度达到需要生成校验数据的数据流总长度,停止接收数据,并将生成好的校验数据存放在指定位置,待NAND控制器取走后再进行下一轮数据生成。
进一步的,本系统通过两组相同的配置接口实现无缝开启下一轮工作,即:当前数据发送完成后,NAND控制器确定是否与新的XORE模块空闲接口提前完成配对,如已配对,则当前一轮操作结束后立即开启新一轮操作,并将新XORE模块的ID号及接口号写入数据流的指定位置;处理完一轮数据后,XORE模块检查是否有新的配置信息被提前加载在空闲接口,如有则立刻开始进行新一轮操作。
本发明还公开了一种用于生成NAND校验数据的XORE模块配置方法,包括以下步骤:
S01)、某一NAND控制器通过总线从DDR存储器中获取需要写入的数据,并通过PHY接口将数据发送至NAND存储器;
S02)、NAND控制器查询自身的软件配置信息,确认与其配合的XORE模块ID号及接口号,之后将上述数据附上ID号和接口号后发送至仲裁模块;
S03)、仲裁模块根据ID号和接口号将数据转发至对应XORE模块的对应接口;
S04)、XORE模块确认数据来自指定的NAND控制器后,开始按照指定长度进行异或操作;
S05)、当NAND控制器发送的数据流长度达到软件配置的总长度后,到XORE ID对应的指定位置取出校验数据,并将其写入NAND控制器;
S06)、至此一组校验数据的生成流程结束,如果此时NAND控制器发现有提前被配置好的新XORE模块ID号及接口号,立刻按照步骤S01)启动下一轮操作。
进一步的,步骤S01)至步骤S06)执行过程中,实时监控NAND控制器及XORE模块状态,实时更新NAND控制器及XORE模块的配置信息,确保NAND控制器发送数据时,对应的XORE模块已提前完成配置并且计算单元处于空闲状态,否则暂停NAND控制器启动新一轮数据发送流程,直至XORE模块的计算单元回到空闲状态。
进一步的,NAND控制器与XORE模块接口的匹配方式为:假设M个XOR模块分别编号为1至M,且每个XORE模块有2个接口分别编号为1和2,则XORE模块接口被使用的顺序为1-1、2-1、…、M-1、1-2、2-2、…、M-2。
本发明的有益效果:本发明提供了一种在成本限制下改善性能的方法,由于其最大程度的提升了XORE计算单元的利用率,使其能够以较少的XORE模块数量达到与以往相同的性能,明显减少了芯片面积,降低了流片成本,并由于软件的实时监控,模块间的配对具有了相当的灵活性,可应付多类不同场景。相较传统方法中每个NAND控制器固定配置一个XORE的设计方案具有明显优势。
附图说明
图1为实施例1所述系统的示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种用于生成NAND校验数据的XORE模块配置系统,如图1所示,包括N个NAND控制器、M个XORE模块以及连接于括N个NAND控制器与M个XORE模块之间的仲裁模块,N、M均为正整数,并且N≥2M。每个NAND控制器和XORE模块均分配一组ID号码,并且所有NAND控制器和XORE模块都连接至仲裁模块,系统工作时,通过ID号码绑定NAND控制器和XORE模块,使得NAND控制器的数据通过仲裁模块发送至对应ID号码的XORE模块来生成校验数据。为保证XORE工作的连续性,尽可能缩短XORE计算单元的闲置时间,每个XORE模块设置了两组相同的配置接口来接收NAND控制器发送的配置信息,当模块XORE通过接口1被启动时,接口2接收并缓存下一轮操作所需配置信息,本轮计算结束后,则立即开启下一轮工作。
本实施例中,NAND控制器模块与XORE模块通过仲裁模块连接。每个NAND控制器均可独立实现将总线数据写入NAND存储器的工作。每个NAND控制器均可通过仲裁模块将数据发送至软件指定的XORE模块,并可以从指定的XORE模块读取生成好的校验数据。每个XORE模块均可独立实现校验数据生成工作。每个XORE模块均可通过仲裁模块接收来自所有NAND控制器的数据。每个XORE模块虽仅包含1组数据计算单元,但包含2组完全一致的配置接口,当XORE通过接口1被启动时,可通过接口2提前缓存下一轮操作所需的配置信息,本轮操作结束后,可立即开启下一轮计算。
本系统具有以下功能:
本系统只实现指定ID号码的NAND控制器与XORE模块之间的数据传输。即:NAND控制器确定当前与其配合的XORE模块及该模块的配置接口后,NAND控制器向仲裁模块发送数据时,将XORE模块的ID号及接口号写入数据流的指定位置,使数据发送至指定ID号码的XORE模块的指定接口。XORE模块确定与其配合的NAND控制器ID号码后,来自其他NAND控制器的数据均不予处理;XORE模块确定空闲接口状态,当此接口被配置后,确定与其配合的NAND控制器ID号码并停止接收新的配置信息,通过此接口进行下一轮操作时,来自其他NAND控制器的数据均不予处理。
本系统实现不同长度校验数据的生成功能。即:NAND控制器确定校验数据的长度以及需要生成校验数据的数据流总长度后,NAND控制器检查数据流,当发现足够多的数据发送至XORE模块后,停止发送数据,之后从XORE模块取出生成好的校验数据并写入NAND存储器。XORE模块确定校验数据的长度以及需要生成校验数据的数据流总长度后,以校验数据的长度为一组,与下一组数据进行异或,直至接收的数据长度达到需要生成校验数据的数据流总长度,XORE模块检查数据流长度,当发现已收取足够多的数据后,停止接收数据,并将生成好的校验数据存放在指定位置,待NAND控制器取走后再进行下一轮数据生成。
本系统通过两组相同的配置接口实现无缝开启下一轮工作。即:当前数据发送完成后,NAND控制器确定是否与新的XORE模块空闲接口提前完成配对,如已配对,则当前一轮操作结束后立即开启新一轮操作,并将新XORE模块的ID号及接口号写入数据流的指定位置;处理完一轮数据后,XORE模块检查是否有新的配置信息被提前加载在空闲接口,如有则立刻开始进行新一轮操作。
实施例2
本发明还公开了一种用于生成NAND校验数据的XORE模块配置方法,包括以下步骤:
S01)、某一NAND控制器通过总线从DDR存储器中获取需要写入的数据,并通过PHY接口将数据发送至NAND存储器;
S02)、NAND控制器查询自身的软件配置信息,确认与其配合的XORE模块ID号及接口号,之后将上述数据附上ID号和接口号后发送至仲裁模块;
S03)、仲裁模块根据ID号和接口号将数据转发至对应XORE模块的对应接口;
S04)、XORE模块确认数据来自指定的NAND控制器后,开始按照指定长度进行异或操作;
S05)、当NAND控制器发送的数据流长度达到软件配置的总长度后,到XORE ID对应的指定位置取出校验数据,并将其写入NAND控制器;
S06)、至此一组校验数据的生成流程结束,如果此时NAND控制器发现有提前被配置好的新XORE模块ID号及接口号,立刻按照步骤S01)启动下一轮操作。
本实施例中,步骤S01)至步骤S06)执行过程中,实时监控NAND控制器及XORE模块状态,实时更新NAND控制器及XORE模块的配置信息,确保NAND控制器发送数据时,对应的XORE模块已提前完成配置并且计算单元处于空闲状态,否则暂停NAND控制器启动新一轮数据发送流程,直至XORE模块的计算单元回到空闲状态。
本实施例中,NAND控制器与XORE模块接口的匹配方式为:假设M个XOR模块分别编号为1至M,且每个XORE模块有2个接口分别编号为1和2,则XORE模块接口被使用的顺序为1-1、2-1、…、M-1、1-2、2-2、…、M-2。即当某一个NAND控制器需要使用XORE模块时,将首先占用XORE1模块的1号接口,另一NAND控制器需要使用XORE模块时,发现XORE1的1号接口被占用,则使用下一个XORE模块即XORE2的1号接口,依次类推。当全部接口被占用或计算单元均非空闲时,软件应暂停NAND控制器启动新一轮操作直至接口和计算单元均回到空闲状态。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (7)
1.一种用于生成NAND校验数据的XORE模块配置系统,其特征在于:包括N个NAND控制器、M个XORE模块以及连接于括N个NAND控制器与M个XORE模块之间的仲裁模块,N、M均为正整数,并且N≥2M;每个NAND控制器和XORE模块均分配一组ID号码,并且所有NAND控制器和XORE模块都连接至仲裁模块,系统工作时,通过ID号码绑定NAND控制器和XORE模块,使得NAND控制器的数据通过仲裁模块发送至对应ID号码的XORE模块来生成校验数据;每个XORE模块设置了两组相同的配置接口来接收NAND控制器发送的配置信息,当XORE通过接口1被启动时,接口2接收并缓存下一轮操作所需配置信息,本轮计算结束后,则立即开启下一轮工作。
2.根据权利要求1所述的用于生成NAND校验数据的XORE模块配置系统,其特征在于:本系统只实现指定ID号码的NAND控制器与XORE模块之间的数据传输;即:NAND控制器确定当前与其配合的XORE模块及该模块的配置接口后,NAND控制器向仲裁模块发送数据时,将XORE模块的ID号及接口号写入数据流的指定位置,使数据发送至指定ID号码的XORE模块的指定接口;XORE模块确定与其配合的NAND控制器ID号码后,来自其他NAND控制器的数据均不予处理;XORE模块确定空闲接口状态,当此接口被配置后,确定与其配合的NAND控制器ID号码并停止接收新的配置信息,通过此接口进行下一轮操作时,来自其他NAND控制器的数据均不予处理。
3.根据权利要求1所述的用于生成NAND校验数据的XORE模块配置系统,其特征在于:本系统具备实现不同长度校验数据的生成功能,即:NAND控制器确定校验数据的长度以及需要生成校验数据的数据流总长度后,NAND控制器检查数据流,当发现足够多的数据发送至XORE模块后,停止发送数据,之后从XORE模块取出生成好的校验数据并写入NAND存储器;XORE模块确定校验数据的长度以及需要生成校验数据的数据流总长度后,以校验数据的长度为一组,与下一组数据进行异或,直至接收的数据长度达到需要生成校验数据的数据流总长度,停止接收数据,并将生成好的校验数据存放在指定位置,待NAND控制器取走后再进行下一轮数据生成。
4.根据权利要求1所述的用于生成NAND校验数据的XORE模块配置系统,其特征在于:本系统通过两组相同的配置接口实现无缝开启下一轮工作,即:当前数据发送完成后,NAND控制器确定是否与新的XORE模块空闲接口提前完成配对,如已配对,则当前一轮操作结束后立即开启新一轮操作,并将新XORE模块的ID号及接口号写入数据流的指定位置;处理完一轮数据后,XORE模块检查是否有新的配置信息被提前加载在空闲接口,如有则立刻开始进行新一轮操作。
5.一种用于生成NAND校验数据的XORE模块配置方法,其特征在于:包括以下步骤:
S01)、某一NAND控制器通过总线从DDR存储器中获取需要写入的数据,并通过PHY接口将数据发送至NAND存储器;
S02)、NAND控制器查询自身的软件配置信息,确认与其配合的XORE模块ID号及接口号,之后将上述数据附上ID号和接口号后发送至仲裁模块;
S03)、仲裁模块根据ID号和接口号将数据转发至对应XORE模块的对应接口;
S04)、XORE模块确认数据来自指定的NAND控制器后,开始按照指定长度进行异或操作;
S05)、当NAND控制器发送的数据流长度达到软件配置的总长度后,到XORE ID对应的指定位置取出校验数据,并将其写入NAND控制器;
S06)、至此一组校验数据的生成流程结束,如果此时NAND控制器发现有提前被配置好的新XORE模块ID号及接口号,立刻按照步骤S01)启动下一轮操作。
6.根据权利要求5所述的用于生成NAND校验数据的XORE模块配置方法,其特征在于:步骤S01)至步骤S06)执行过程中,实时监控NAND控制器及XORE模块状态,实时更新NAND控制器及XORE模块的配置信息,确保NAND控制器发送数据时,对应的XORE模块已提前完成配置并且计算单元处于空闲状态,否则暂停NAND控制器启动新一轮数据发送流程,直至XORE模块的计算单元回到空闲状态。
7.根据权利要求5所述的用于生成NAND校验数据的XORE模块配置方法,其特征在于:NAND控制器与XORE模块接口的匹配方式为:假设M个XOR模块分别编号为1至M,且每个XORE模块有2个接口分别编号为1和2,则XORE模块接口被使用的顺序为1-1、2-1、…、M-1、1-2、2-2、…、M-2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310183339.9A CN116189747A (zh) | 2023-03-01 | 2023-03-01 | 一种用于生成nand校验数据的xore模块配置系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310183339.9A CN116189747A (zh) | 2023-03-01 | 2023-03-01 | 一种用于生成nand校验数据的xore模块配置系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116189747A true CN116189747A (zh) | 2023-05-30 |
Family
ID=86442078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310183339.9A Pending CN116189747A (zh) | 2023-03-01 | 2023-03-01 | 一种用于生成nand校验数据的xore模块配置系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116189747A (zh) |
-
2023
- 2023-03-01 CN CN202310183339.9A patent/CN116189747A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3623014A (en) | Computer communications system | |
US8156252B2 (en) | Apparatus and method for block-based data striping to solid-state memory modules with optional data format protocol translation | |
JP4477906B2 (ja) | ストレージシステム | |
CN108989432B (zh) | 用户态的文件发送方法、文件接收方法和文件收发装置 | |
CN104407933A (zh) | 一种数据的备份方法及装置 | |
US8386908B2 (en) | Data transmission methods and universal serial bus host controllers utilizing the same | |
CN111552658B (zh) | 一种通信方法、通信控制装置及i2c总线系统 | |
CN113687977B (zh) | 基于raid控制器以实现计算性能提升的数据处理装置 | |
CN108008917A (zh) | 存储设备及控制其链接状态的方法 | |
US20050015529A1 (en) | Duplexing system and method using serial-parallel bus matching | |
CN113687978B (zh) | 用于存储阵列控制器的数据处理方法 | |
CN111181874B (zh) | 一种报文处理方法、装置及存储介质 | |
CN116189747A (zh) | 一种用于生成nand校验数据的xore模块配置系统及方法 | |
US5895496A (en) | System for an method of efficiently controlling memory accesses in a multiprocessor computer system | |
CN109032965B (zh) | 一种数据读取方法、主机及存储设备 | |
CN101241478B (zh) | 数据传送方法 | |
CN115963977A (zh) | 一种固态硬盘及其数据操作方法、装置及电子设备 | |
CN111782562A (zh) | 数据传输方法、dma控制器、npu芯片及计算机设备 | |
CN111860821A (zh) | 数据流架构神经网络芯片的数据传输的控制方法及系统 | |
CN117008843B (zh) | 控制页链表构建装置和电子设备 | |
JP3639582B2 (ja) | 通信命令制御システム | |
CN115617707B (zh) | 用于管理存储空间的装置及方法、计算设备、芯片 | |
CN117149278B (zh) | 一种命令处理系统、控制方法及主机设备 | |
JP3639321B2 (ja) | 記憶制御装置 | |
CN115658327B (zh) | 用于管理存储空间的装置及方法、计算设备、芯片 |
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 |