CN111581117A - 固态硬盘的未映像地址的重导向方法 - Google Patents

固态硬盘的未映像地址的重导向方法 Download PDF

Info

Publication number
CN111581117A
CN111581117A CN201910122649.3A CN201910122649A CN111581117A CN 111581117 A CN111581117 A CN 111581117A CN 201910122649 A CN201910122649 A CN 201910122649A CN 111581117 A CN111581117 A CN 111581117A
Authority
CN
China
Prior art keywords
address
pages
block
data
solid state
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
Application number
CN201910122649.3A
Other languages
English (en)
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.)
Jiangsu Xinsheng Intelligent Technology Co ltd
Ruikuan Intelligent Technology Co ltd
Goke Taiwan Research Laboratory Ltd
Original Assignee
Jiangsu Xinsheng Intelligent Technology Co ltd
Ruikuan Intelligent Technology 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 Jiangsu Xinsheng Intelligent Technology Co ltd, Ruikuan Intelligent Technology Co ltd filed Critical Jiangsu Xinsheng Intelligent Technology Co ltd
Priority to CN201910122649.3A priority Critical patent/CN111581117A/zh
Publication of CN111581117A publication Critical patent/CN111581117A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Abstract

本发明揭露一种固态硬盘的未映像地址的重导向方法,提供一个NAND内存。该NAND内存有若干区块,且每个区块有若干页。从该NAND内存的区块选一个区块。从被选的区块选若干页当作「0」的专用页,且将其资料写为「0」,并另选若干页当作「1」的专用页,且将其资料写为「1」。从主机接收一个读取固态硬盘的某地址的资料的要求,随后判断这地址是否一个未映像地址。若这地址是未映像地址,则从「0」或「1」的专用页传「0」或「1」给主机。

Description

固态硬盘的未映像地址的重导向方法
技术领域
本发明关于固态硬盘,特别是固态硬盘的未映像地址的重导向方法。
背景技术
当一个主机要从一个固态硬盘的未映像地址读资料,主机就要求固态硬盘提供「0」或「1」。为应付主机的要求,就把在NAND内存的一部分(「0」的专用部)里的资料全写为「0」,并把在NAND内存的另外一部分(「1」的专用部)里的资料全写为「1」。每一次主机要读一个未映像地址的资料,若主机要求以「0」当作未映像地址的资料,则从「0」的专用部传「0」给主机,若主机要求以「1」当作未映像资料,则从「1」的专用部传「1」给主机。这种程序被称为重导向。
参考图4,依一传统方式,用NAND内存的一个区块的第一页当作「0」的专用部,并用NAND内存的同一个区块的第二页当作「1」的专用部。在主机要求下,可能从NAND内存的「0」的专用部或「1」的专用部,读很多次资料。这必然导致“read disturb”,亦即从一页读资料的次数达一个值时,整个NAND内存就会失效,即使很少用NAND内存的其他页。
参考图5,依另一传统方式,用固态硬盘的一个随机存取内存(RAM)的第一个缓冲区当作「0」的专用部,并用随机存取内存的第二个缓冲区当作「1」的专用部。如此,就避免“read disturb”。然而,为用随机存取内存来处理重导向,就导致一些问题。首先,须使用容量较大的随机存取内存,这不可避免地增加成本。其次,因可能从随机存取内存或NAND内存读取资料,这增加软件设计的复杂度。
发明内容
有鉴于习知技艺的上述问题,本发明的目的在于提供一种有效且省钱的固态硬盘的未映像地址的重导向方法。
为达成上述目的,在本发明的固态硬盘的未映像地址的重导向方法中,提供一个NAND内存。该NAND内存有若干区块,且每个区块有若干页。从该NAND内存的区块选一个区块。从被选的区块选若干页当作「0」的专用页,且将其资料写为「0」,并另选若干页当作「1」的专用页,且将其资料写为「1」。从主机接收一个读取固态硬盘的某地址的资料的要求,随后判断这地址是否一个未映像地址。若这地址是一个未映像地址,则从「0」或「1」的专用页传「0」或「1」给主机。
进一步的,固态硬盘的未映像地址的重导向方法还包括以下步骤:
判断是否写完被选的区块的普通页的位;
若否,则续用这区块;
若是,则选另一区块。
本发明固态硬盘的未映像地址的重导向方法的另一方案:该固态硬盘包括NAND内存、元资料、NAND闪存控制器、闪存转换层、后端、前端、资料快取,该NAND内存有许多区块,且每个区块有若干页,该方法包括以下步骤:
(S12)执行元资料(14)而从这些区块选一区块;
(S14)元资料呼叫NAND闪存控制器而从被选的这区块的许多页选M/2页当作
「0」的专用页,且将其资料写为「0」,并另外选M/2页当作「1」的专用页,且将其资料写为「1」,其他页当作普通页;
(S16)前端从主机接收一个读资料的要求,其中这要求包括一个原始逻辑地址,且前端准备且传送一个请求到资料快取;
(S18)资料快取准备并传送一个请求到闪存转换层;
(S20)闪存转换层将原始逻辑地址转换成原始实体地址,并传送一个请求到后端;
(S22)后端判断原始实体地址是否一个未映像地址;
(S24)若原始实体地址非未映像地址,则把原始实体地址传到NAND闪存控制器;
(S23)若原始实体地址是未映像地址,则后端向元资料取得一个重导向实体地址,取代原始实体地址,并把重导向实体地址传到NAND闪存控制器;
(S24)NAND闪存控制器从原始实体地址或重导向实体地址,把「0」、「1」或其他资料传到主机。
还包括以下步骤:
(S26)判断是否写满这区块的普通页;
(S27)若是,则元资料选另一群;
(S28)否则程序结束。
附图说明
图1是一个固态硬盘的方块图;
图2是本发明的较佳实施例的固态硬盘的未映像地址的重导向方法的流程图,此方法被用于图1所示的资料贮存装置;
图3是以图2所示的方法管理下,NAND内存的方块图;
图4是以一种传统的固态硬盘的未映像地址的重导向方法下的资料贮存装置的方块图;
图5是以另一种传统的固态硬盘的未映像地址的重导向方法下的资料贮存装置的方块图。
图中标记对应的名称:
10,固态硬盘资料贮存装置; Core 0,Core 1,中央处理单元;
12,NAND内存; 14,元资料;
16,NAND闪存控制器; 18,闪存转换层;
20,后端; 22,前端;
24,资料快取; 26,主机。
具体实施方式
以下参考相关附图说明本发明的固态硬盘的未映像地址的重导向方法的较佳实施例。为便于理解本发明,以下用相同符号标示相同组件。
参考图1,一个固态硬盘10包括两个中央处理单元(CPU)及一个NAND内存12。这两个中央处理单元被称为Core 0及Core 1。
中央处理单元Core 0执行若干韧体,例如元资料(system metadata或SysMeta)14、NAND闪存控制器16、闪存转换层(flash translation layer或FTL)18、及后端20。
中央处理单元Core 1执行若干韧体,例如前端22资料快取(data cache或DC)24。
NAND内存12有许多区块,每个区块有许多页。在较佳实施例中,这些区块组成N群,每群有若干区块。在另一实施例中,不以这些区块组成若干群。
参考图2,本发明的较佳实施例的固态硬盘的未映像地址的重导向方法(「程序」)被用于图1所示的固态硬盘10。
参考图2及图3,在S10,程序开始。
在S12,执行元资料14而从这N群选一群。
在S14,元资料14呼叫NAND闪存控制器16,从被选的这群的许多页,选M/2页并把它们的资料写为「0」,并另外选M/2页且把它们的资料写为「1」。为方便描述,称这M页为「专用页」,称载满「0」的M/2页为「0」的专用页,称载满「1」的M/2页为「1」的专用页,称其余页为「普通页」。当选用一群时,就用这群的普通页贮存资料,亦即把资料写入这群的普通页。
在S16,前端22从主机26接收一个读资料的要求。这要求包括一个逻辑地址(「原始逻辑地址」)。因此,前端22准备且传送一个请求到资料快取24。
在S18,从前端22收到请求后,资料快取24准备并传送一个请求到闪存转换层18。
在S20,从资料快取24收到请求后,闪存转换层18将原始逻辑地址转换成原始实体地址,并传送一个请求到后端20。
在S22,后端20判断原始实体地址是否一个未映像地址。
若原始实体地址不是未映像地址,则程序直接走到S24,且原始实体地址被传到NAND闪存控制器16。
若原始实体地址是未映像地址,则程序先走到S23,后走到S24。
在S23,后端20向元资料14取得一个重导向实体地址,并以重导向实体地址取代原始实体地址。并把重导向实体地址传到NAND闪存控制器16。
在S24,NAND闪存控制器16从原始实体地址或重导向实体地址,把「0」、「1」或其他资料传到主机26。
在S26,判断这群的全部普通页的是否被写满。若是,则程序走到S27,否则程序走到S28。
在S27,元资料14选另一群。
在S28,程序结束。
与先前技艺相比,本发明有几个优点。第一,寿命长。用M乘N专用页贮存「0」及「1」,故不易发生”read disturb”。第二,成本低,固态硬盘10不占用随机存取内存的容量,故不必用容量大且贵的随机存取内存。第三,软件复杂度低,因资料的来源只有NAND内存12。
以上仅为描述本发明的较佳实施方式,非用以限定本发明的范围。本技术领域内的一般技术人员根据上述实施例所作的均等变化,以及本领域内技术人员熟知的改变,仍在本发明的范围内。

Claims (4)

1.一种固态硬盘的未映像地址的重导向方法,其特征在于,包括以下步骤:
提供一个NAND内存,其中该NAND内存有若干区块,且每个区块有若干页;
从该NAND内存的区块选一个区块;
从被选的区块选若干页当作「0」的专用页,且将其资料全写为「0」,并从被选的区块另外选若干页当作「1」的专用页,且将其资料全写为「1」,其他页当作普通页;
从主机(26)接收一个读取固态硬盘(10)的某地址的资料的要求;并判断这地址是否一个未映像地址;
若这地址是一个未映像地址,则把「0」或「1」的专用页的「0」或「1」传到主机(26)。
2.如权利要求1所述的固态硬盘的未映像地址的重导向方法,其特征在于,还包括以下步骤:
判断是否写完被选的区块的普通页的位;
若否,则续用这区块;
若是,则选另一区块。
3.一种固态硬盘的未映像地址的重导向方法,其特征在于,该固态硬盘包括NAND内存(12)、元资料(14)、NAND闪存控制器(16)、闪存转换层(18)、后端(20)、前端(22)、资料快取(24),该NAND内存(12)有许多区块,且每个区块有若干页,该方法包括以下步骤:
(S12)执行元资料(14)而从这些区块选一区块;
(S14)元资料(14)呼叫NAND闪存控制器(16)而从被选的这区块的许多页选M/2页当作「0」的专用页,且将其资料写为「0」,并另外选M/2页当作「1」的专用页,且将其资料写为「1」,其他页当作普通页;
(S16)前端(22)从主机(26)接收一个读资料的要求,其中这要求包括一个原始逻辑地址,且前端(22)准备且传送一个请求到资料快取(24);
(S18)资料快取(24)准备并传送一个请求到闪存转换层(18);
(S20)闪存转换层(18)将原始逻辑地址转换成原始实体地址,并传送一个请求到后端(20);
(S22)后端(20)判断原始实体地址是否一个未映像地址;
(S24)若原始实体地址非未映像地址,则把原始实体地址传到NAND闪存控制器(16);
(S23)若原始实体地址是未映像地址,则后端(20)向元资料(14)取得一个重导向实体地址,取代原始实体地址,并把重导向实体地址传到NAND闪存控制器(16);
(S24)NAND闪存控制器(16)从原始实体地址或重导向实体地址,把「0」、「1」或其他资料传到主机(26)。
4.如权利要求3所述的固态硬盘的未映像地址的重导向方法,其特征在于,还包括以下步骤:
(S26)判断是否写满这区块的普通页;
(S27)若是,则元资料(14)选另一群;
(S28)否则程序结束。
CN201910122649.3A 2019-02-19 2019-02-19 固态硬盘的未映像地址的重导向方法 Pending CN111581117A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910122649.3A CN111581117A (zh) 2019-02-19 2019-02-19 固态硬盘的未映像地址的重导向方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910122649.3A CN111581117A (zh) 2019-02-19 2019-02-19 固态硬盘的未映像地址的重导向方法

Publications (1)

Publication Number Publication Date
CN111581117A true CN111581117A (zh) 2020-08-25

Family

ID=72124346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910122649.3A Pending CN111581117A (zh) 2019-02-19 2019-02-19 固态硬盘的未映像地址的重导向方法

Country Status (1)

Country Link
CN (1) CN111581117A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055574A1 (en) * 2007-08-25 2009-02-26 Bei-Chuan Chen NAND Flash Memory Device And Related Method Thereof
CN103827806A (zh) * 2011-08-11 2014-05-28 净睿存储股份有限公司 闪存阵列中的逻辑扇区映射
WO2016107442A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 将数据写入固态硬盘的方法及固态硬盘
US20170090815A1 (en) * 2015-09-29 2017-03-30 Sandisk Technologies Inc. Zero read on trimmed blocks in a non-volatile memory system
CN107743620A (zh) * 2015-06-26 2018-02-27 英特尔公司 用于耗损均衡的非易失性存储器的加速的地址间接表查找

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055574A1 (en) * 2007-08-25 2009-02-26 Bei-Chuan Chen NAND Flash Memory Device And Related Method Thereof
CN103827806A (zh) * 2011-08-11 2014-05-28 净睿存储股份有限公司 闪存阵列中的逻辑扇区映射
CN105786408A (zh) * 2011-08-11 2016-07-20 净睿存储股份有限公司 闪存阵列中的逻辑扇区映射
WO2016107442A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 将数据写入固态硬盘的方法及固态硬盘
CN107743620A (zh) * 2015-06-26 2018-02-27 英特尔公司 用于耗损均衡的非易失性存储器的加速的地址间接表查找
US20170090815A1 (en) * 2015-09-29 2017-03-30 Sandisk Technologies Inc. Zero read on trimmed blocks in a non-volatile memory system

Similar Documents

Publication Publication Date Title
US20060106984A1 (en) Methods and apparatus for efficient memory usage
US10909031B2 (en) Memory system and operating method thereof
US20140372696A1 (en) Handling write requests for a data array
US9563551B2 (en) Data storage device and data fetching method for flash memory
US20190340132A1 (en) Flushing pages from solid-state storage device
US20210157746A1 (en) Key-value storage device and system including the same
US20180276129A1 (en) Pre-fetching in a memory system configured with synthesized logical blocks
KR20220060548A (ko) 데이터가 저장된 메모리 디바이스를 식별하기 위해 저장된 메타데이터 액세싱
CN108595349B (zh) 大容量存储设备的地址转换方法与装置
US11113145B2 (en) Memory device, semiconductor device, and semiconductor system
US20180004678A1 (en) Apparatus and method for performing address translation
US20150248316A1 (en) System and method for dynamically selecting between memory error detection and error correction
US20170185294A1 (en) Memory system and operating method thereof
US11157399B2 (en) Data storage devices and data processing methods with dynamic programming scheme
US20190332540A1 (en) Storage management method, electronic device and computer readable medium
US20200104072A1 (en) Data management method and storage controller using the same
US20170285947A1 (en) Apparatus, System, And Method Of Logical Address Translation For Non-Volatile Storage Memory
CN111581117A (zh) 固态硬盘的未映像地址的重导向方法
US11507319B2 (en) Memory controller having a plurality of control modules and associated server
TWI682395B (zh) 固態硬碟的未映射位址的重導向方法
CN113485643A (zh) 用于数据存取的方法及数据写入的控制器
US20090055574A1 (en) NAND Flash Memory Device And Related Method Thereof
US8737156B2 (en) Mapping between two buses using serial addressing bits
US20200285586A1 (en) Method For Redirecting Unmapped Addresses of a Solid-State Drive
KR101752304B1 (ko) 복수의 플래시 메모리 컨트롤러를 포함하는 솔리드 스테이트 드라이브 및 상기 플래시 메모리 컨트롤러가 수행하는 압축 해제 방법

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200825

WD01 Invention patent application deemed withdrawn after publication