CN102486751A - 一种在微内存系统上实现小页nandflash虚拟大页的方法 - Google Patents
一种在微内存系统上实现小页nandflash虚拟大页的方法 Download PDFInfo
- Publication number
- CN102486751A CN102486751A CN2010105684856A CN201010568485A CN102486751A CN 102486751 A CN102486751 A CN 102486751A CN 2010105684856 A CN2010105684856 A CN 2010105684856A CN 201010568485 A CN201010568485 A CN 201010568485A CN 102486751 A CN102486751 A CN 102486751A
- Authority
- CN
- China
- Prior art keywords
- page
- leaf
- little
- nandflash
- big
- 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
Landscapes
- Memory System (AREA)
Abstract
本发明公开了一种在微内存系统上实现小页NANDFLAH虚拟大页的方法,包括以下内容:将大、小页NANDFLASH驱动分开;将若干物理小页虚拟成为一个逻辑大页;将若干物理小块虚拟成为一个逻辑大块。该方法能够把非主流的小页Nandflash当作主流的大页Nandflash来使用,大大降低上层调用的复杂度;同时,针对内存极为紧张的微内存系统,大幅减少对小页Nandflash管理所占用的内存空间。
Description
技术领域
本发明涉及一种嵌入式系统存储器的处理方法,具体来说涉及一种在微内存系统上实现小页NANDFLAH虚拟大页的方法。
背景技术
当前各类嵌入式系统开发设计中,存储模块是不可或缺的重要部件。其中的flash存储器作为一种安全、快速的存储体,具有体积小、容量大、成本低、掉电数据不丢失等一系列优点。目前已经逐步取代其它半导体存储元件,成为嵌入式系统中数据和程序的主要载体。
Nandflash技术发展迅猛,不同厂商的Nandflash产品系列都在不断地推陈出新。就同一系列的NANDFLASH升级而言,有M代、A代、B代……之分,如三星的K9G4G08X0M、K9G4G08X0A和K9G4G08X0B;就纳米生产工艺而言,有70nm、52nm、34nm、32nm……之分,nm数越小表示厂商的生产工艺越精密。就block的变化而言,有16KB、128KB、256KB、512KB、1MB、2MB之分;就page的变化而言,有512B、2KB、4KB、8KB之分。Block和page越大,一般也代表了生产工艺越先进。
在纷繁的nandflash产品系列中,最早出现的page为512B、block为16KB的nandflash被称为small page nandflash(即小页nandflash),已经逐渐淡出市场。但市面上还是有少量存货,或一些旧的电子产品拆卸下来的旧Nandflash中也有这类小页nandflash。而除小页nandflash外,其他nandflash不管其为SLC(single level cell,单级单元)或MLC(multi level cell,多级单元)型的nandflash,统称为大页nandflash。
对于这些微内存软件系统,需要在有限的内存资源下,支持各种各样的nandflash,其中就包括小页nandflash。但目前尚无较好的方法实现微内存软硬件方案上对小页nandflash进行的特殊处理。在各种普遍的方案中,都是把此类nandflash当作标准的小页nandflash来使用。
现有技术按照常规方式来使用小页nandflash,但此方式对于微内存系统来说,有如下缺点:第一:大小页nand驱动集成在一起,占用内存较多;第二:小页nandflash的一个页只有512B,不方便微内存系统进行内存换页操作和读取资源操作;第三:小页nandflash的一个块只有16KB,因此同等容量中,小页的nandflash要比大页的nandflash的块数要多得多,这给微内存系统的块映射表带来更大的内存负荷。
发明内容
本发明的目的在于提供一种在微内存系统上实现小页NANDFLAH虚拟大页的方法,该方法能够把非主流的小页Nandflash当作主流的大页Nandflash来使用,大大降低上层调用的复杂度;同时,针对内存极为紧张的微内存系统,大幅减少对小页Nandflash管理所占用的内存空间。
本发明的目的可通过以下的技术措施来实现:
一种在微内存系统上实现小页NANDFLAH虚拟大页的方法,首先,将系统中的大页NANDFLASH驱动和小页NANDFLASH驱动分开;再将系统中物理小页虚拟成为逻辑大页、将物理小块虚拟成为逻辑大块。
所述微内存系统中的大、小页NANDFLASH驱动通过宏分开。
所述小页NANDFLASH系统中每个物理小块包含32个物理小页、每个物理小页的大小为512B。
所述每个虚拟的逻辑大页中包括8个物理小页。
所述每个虚拟的逻辑大块中包括16个物理小块。
所述小页NANDFLAH中的读写一个逻辑大页的过程分解为读写若干物理小页。
所述小页NANDFLAH中的擦除一个逻辑大块的过程分解为擦除若干物理小块。
本发明方法具有以下有益效果:首先,本方法把非主流的小页Nandflash当作主流的大页Nandflash来使用,大大降低上层调用的复杂度,节省系统调用所占用的资源;第二:针对内存极为紧张的微内存系统,大幅减少对小页Nandflash管理所占用的内存空间,并对上层应用透明;第三,本发明方法可应用于多媒体应用处理芯片的一整套针对中低端MP3、MP4、录音笔、点读笔及点读机等产品的系统开发平台。
附图说明
图1是本发明方法中将一个逻辑大页划分成多个物理小页的组成结构示意图;
图2是本发明方法中读写一个逻辑大页时的读写逻辑示意图;
图3是本发明方法中将一个逻辑大块划分成多个物理小块的组成结构示意图;
图4是本发明方法中擦除一个逻辑大块时的擦除逻辑示意图;
图5是本发明方法中一个逻辑大块的组成结构示意图。
具体实施方式
图1至图5示出了采用本发明的一种在微内存系统上实现小页NANDFLAH虚拟大页的方法中将原有的小页NANDFLASH虚拟成为一个大页NANDFLASH的内存结构的重组的结构示意图,本发明采用的小页NANDFLASH中每个物理小块包含32个物理小页、每个物理小页的大小为512B,将其虚拟成大页NANDFLASH的具体内容包括以下几个方面:
(1)、将系统中的大页nandflash驱动、小页nandflash驱动分开:
由于微内存系统内存紧张,因此,将大页nandflash的驱动和小页nandflash的驱动完全通过宏隔开,同时隔开的还有下面所述的专门为小页nandflash所做的特殊处理;
(2)、将系统中多个物理小页虚拟为一个逻辑大页:
微内存系统所使用的换页大小为4KB,对于这样的一个内存页要从nandflash上的同样空间去交换。为了避开内存交换管理模块对物理硬件差异化的依赖,可以让内存交换管理模块可以透明地对待存储设备硬件的页大小为4KB。这样对于小页的nandflash,页大小为512 B,逻辑上可以用物理上的8个页来代替一个4KB的逻辑页大小。其组成结构可以用图1表示,将8个物理小页虚拟成为一个逻辑大页;
这样对于内存交换模块读写小页的nandflash时,对于读写接口可以在驱动层连续的读写8个物理小页来获得一个期待的4KB数据。如图2为驱动层的读写逻辑;图中的伪大页即是逻辑大页,真实小页就是物理小页;
(3)、将系统中多个物理小块虚拟成为一个逻辑大块:
由于所有的Nandflash都可以分为一个个块组成,其擦除的基本单位就是以块为单位,如图4中伪大块即是逻辑大块,真实小块就是物理小块。
这些块可能存在不能读写数据的坏块,对于读写nandflash上的一个文件或者一段数据区时,需要知道这些数据分别保存在哪些块里,这样就存在对应这个文件或者这段数据的一个块映射表。对于小页Nandflash,其一个物理小块大小为16KB,这样对于一个大小为10M的数据区,一个块用2个字节表示,其映射表所占用的空间为:
2 ×(10 ×1024 ×1024) / (16 × 1024) = 1280 Bytes
这样占用的空间相对微内存来说就比较大,况且nandflash驱动层的读写还需要提供给其它模块,比如文件系统。对于微内存系统,文件系统对内存的需求和块的管理上也有一定的限制和要求。但是如果我们用多个物理上小块(block)映射成一个逻辑上的大块,就可以解决这种问题。针对现在市场上流行的某些4KB page的nandflash,一个块所包含的页数量为64个page,即256KB,为了将本系统中的小页NANDFLASH虚拟成这样可以的大页NANDFALSH,则用小页NNADFLASH中的16个物理小块来模拟出这样的一个普通的4 KB/page、64 page/block的nandflash的大块(如图3所示)。虚拟后的大块称为逻辑大块,16个物理小块对应的就是16*32个物理小页,也就是2*32=64个逻辑大页,即如图5所示的组成结构。
这样一来,每个逻辑大页包括8个物理小页,每个逻辑大块包括64个逻辑大页,整个小页NANDFLASH重组为包含若干逻辑大块的大页NANDFLASH,如图5所示。
本发明方法的一个应用案例如下:
基于某多媒体应用处理芯片的一整套针对中低端MP3、MP4、录音笔、点读笔及点读机等产品的系统开发平台。该平台采用针对嵌入式系统的虚拟内存技术,在无需外接SDRAM的情况下,可以虚拟出2MB或4MB的内存空间,对上层开发者完全透明,灵活、方便,易于二次开发。该平台还具备强大的多媒体解码能力,支持mp3/wma/wav/amr/flac/ape/ogg等多种格式的音频解码功能,以及QVGA视频流畅解码能力。
由于本系统的硬件核心——多媒体应用处理芯片只有不超过256KB的物理SRAM内存,而对上层开发者却能提供2MB或4MB的虚拟内存。由于使用了本方法的换页机制,即当上层要访问的内存(code或data)不在物理内存的时候,把物理内存的一个内存页(一个内存页大小定义为4KB)舍弃掉原数据,而从nandflash重新加载一个内存页的新数据。
本发明的实施方式不限于此,在本发明上述基本技术思想前提下,按照本领域的普通技术知识和惯用手段对本发明内容所做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。
Claims (7)
1.一种在微内存系统上实现小页NANDFLAH虚拟大页的方法,其特征在于:首先,将系统中的大页NANDFLASH驱动和小页NANDFLASH驱动分开;再将系统中物理小页虚拟成为逻辑大页、将物理小块虚拟成为逻辑大块。
2.根据权利要求1所述的在微内存系统上实现小页NANDFLAH虚拟大页的方法,其特征在于:所述微内存系统中的大、小页NANDFLASH驱动通过宏分开。
3.根据权利要求1所述的在微内存系统上实现小页NANDFLAH虚拟大页的方法,其特征在于:所述小页NANDFLASH系统中每个物理小块包含32个物理小页、每个物理小页的大小为512B。
4.根据权利要求1所述的在微内存系统上实现小页NANDFLAH虚拟大页的方法,其特征在于:所述每个虚拟的逻辑大页中包括8个物理小页。
5.根据权利要求1所述的在微内存系统上实现小页NANDFLAH虚拟大页的方法,其特征在于:所述每个虚拟的逻辑大块中包括16个物理小块。
6.根据权利要求1或4所述的在微内存系统上实现小页NANDFLAH虚拟大页的方法,其特征在于:所述小页NANDFLAH中的读写一个逻辑大页的过程分解为读写若干物理小页。
7.根据权利要求1或5所述的在微内存系统上实现小页NANDFLAH虚拟大页的方法,其特征在于:所述小页NANDFLAH中的擦除一个逻辑大块的过程分解为擦除若干物理小块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105684856A CN102486751A (zh) | 2010-12-01 | 2010-12-01 | 一种在微内存系统上实现小页nandflash虚拟大页的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105684856A CN102486751A (zh) | 2010-12-01 | 2010-12-01 | 一种在微内存系统上实现小页nandflash虚拟大页的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102486751A true CN102486751A (zh) | 2012-06-06 |
Family
ID=46152248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105684856A Pending CN102486751A (zh) | 2010-12-01 | 2010-12-01 | 一种在微内存系统上实现小页nandflash虚拟大页的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102486751A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838608A (zh) * | 2014-03-05 | 2014-06-04 | 深圳市中兴物联科技有限公司 | NAND Flash页面自适应的方法及装置 |
CN107392200A (zh) * | 2017-08-23 | 2017-11-24 | 深圳市乐智教育科技有限公司 | 一种点读的方法和点读笔 |
CN108717395A (zh) * | 2018-05-18 | 2018-10-30 | 记忆科技(深圳)有限公司 | 一种降低动态块映射信息占用内存的方法及装置 |
WO2019127135A1 (zh) * | 2017-12-27 | 2019-07-04 | 华为技术有限公司 | 文件页表管理技术 |
CN112162938A (zh) * | 2015-08-10 | 2021-01-01 | 北京忆恒创源科技有限公司 | 大页内存分配方法及其计算机 |
CN113296685A (zh) * | 2020-05-29 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020044486A1 (en) * | 2000-10-16 | 2002-04-18 | Cheng-Sheng Chan | IC card with different page sizes to increase endurance |
CN1682200A (zh) * | 2002-09-13 | 2005-10-12 | 皇家飞利浦电子股份有限公司 | 带有根据页面大小指示符而进行散列的局部标记的翻译后援缓冲器 |
US20060236063A1 (en) * | 2005-03-30 | 2006-10-19 | Neteffect, Inc. | RDMA enabled I/O adapter performing efficient memory management |
CN101176078A (zh) * | 2005-03-17 | 2008-05-07 | 高通股份有限公司 | 用于优化转换后备缓冲器条目的方法及系统 |
US7802070B2 (en) * | 2006-06-13 | 2010-09-21 | Oracle America, Inc. | Approach for de-fragmenting physical memory by grouping kernel pages together based on large pages |
-
2010
- 2010-12-01 CN CN2010105684856A patent/CN102486751A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020044486A1 (en) * | 2000-10-16 | 2002-04-18 | Cheng-Sheng Chan | IC card with different page sizes to increase endurance |
CN1682200A (zh) * | 2002-09-13 | 2005-10-12 | 皇家飞利浦电子股份有限公司 | 带有根据页面大小指示符而进行散列的局部标记的翻译后援缓冲器 |
CN101176078A (zh) * | 2005-03-17 | 2008-05-07 | 高通股份有限公司 | 用于优化转换后备缓冲器条目的方法及系统 |
US20060236063A1 (en) * | 2005-03-30 | 2006-10-19 | Neteffect, Inc. | RDMA enabled I/O adapter performing efficient memory management |
US7802070B2 (en) * | 2006-06-13 | 2010-09-21 | Oracle America, Inc. | Approach for de-fragmenting physical memory by grouping kernel pages together based on large pages |
Non-Patent Citations (2)
Title |
---|
《计算机工程》 20100531 吴贞海 "基于快速上下文切换扩展的快速地址空间切换" 第36卷, 第10期 * |
吴贞海: ""基于快速上下文切换扩展的快速地址空间切换"", 《计算机工程》, vol. 36, no. 10, 31 May 2010 (2010-05-31) * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838608A (zh) * | 2014-03-05 | 2014-06-04 | 深圳市中兴物联科技有限公司 | NAND Flash页面自适应的方法及装置 |
CN103838608B (zh) * | 2014-03-05 | 2019-05-24 | 深圳市中兴物联科技有限公司 | NAND Flash页面自适应的方法及装置 |
CN112162938A (zh) * | 2015-08-10 | 2021-01-01 | 北京忆恒创源科技有限公司 | 大页内存分配方法及其计算机 |
CN107392200A (zh) * | 2017-08-23 | 2017-11-24 | 深圳市乐智教育科技有限公司 | 一种点读的方法和点读笔 |
CN107392200B (zh) * | 2017-08-23 | 2020-09-15 | 深圳市乐智教育科技有限公司 | 一种点读的方法和点读笔 |
WO2019127135A1 (zh) * | 2017-12-27 | 2019-07-04 | 华为技术有限公司 | 文件页表管理技术 |
US11237980B2 (en) | 2017-12-27 | 2022-02-01 | Huawei Technologies Co., Ltd. | File page table management technology |
CN108717395A (zh) * | 2018-05-18 | 2018-10-30 | 记忆科技(深圳)有限公司 | 一种降低动态块映射信息占用内存的方法及装置 |
CN113296685A (zh) * | 2020-05-29 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、计算机可读存储介质 |
CN113296685B (zh) * | 2020-05-29 | 2023-12-26 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101320594B (zh) | 一种闪存芯片的物理操作方法 | |
WO2018063585A1 (en) | Techniques to manage key-value storage at a memory or storage device | |
US9329989B2 (en) | System and method for pre-interleaving sequential data | |
US20090106484A1 (en) | Data writing method for non-volatile memory and controller using the same | |
CN103946811A (zh) | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 | |
CN104346290A (zh) | 存储装置、计算机系统及其操作方法 | |
CN107391389B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
CN102486751A (zh) | 一种在微内存系统上实现小页nandflash虚拟大页的方法 | |
CN101872644A (zh) | 电子存储装置及其存储方法 | |
CN101464834A (zh) | 闪存数据写入方法及使用此方法的控制器 | |
US20210279132A1 (en) | Memory controller and method of operating the same | |
CN101661431B (zh) | 用于快闪存储器的区块管理方法、快闪储存系统及控制器 | |
CN109219797A (zh) | 用于格式化持久性存储器文件的技术 | |
WO2013101554A1 (en) | Metablock size reduction using on chip page swapping between planes | |
CN102520885B (zh) | 一种混合硬盘的数据管理系统 | |
US9727453B2 (en) | Multi-level table deltas | |
CN101324899B (zh) | 一种快速写nand型flash的方法 | |
CN114036079B (zh) | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 | |
US11288184B2 (en) | Systems and methods for managing an artificially limited logical space of non-volatile memory | |
CN102800357A (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
US20090182932A1 (en) | Method for managing flash memory blocks and controller using the same | |
CN101604291B (zh) | 增进多级单元非挥发性内存的数据存取可靠度的方法 | |
CN105630697A (zh) | 一种利用mram存储小文件的存储结构 | |
CN102103546A (zh) | 用于储存装置以进行储存管理的方法及控制单元与相关储存装置 | |
CN114664361A (zh) | 利用nand缓冲器进行无dram的多级单元编程 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120606 |