CN111581117A - 固态硬盘的未映像地址的重导向方法 - Google Patents
固态硬盘的未映像地址的重导向方法 Download PDFInfo
- 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
Links
- 239000007787 solid Substances 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000013519 translation Methods 0.000 claims description 9
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address 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)否则程序结束。
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)
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 | 英特尔公司 | 用于耗损均衡的非易失性存储器的加速的地址间接表查找 |
-
2019
- 2019-02-19 CN CN201910122649.3A patent/CN111581117A/zh active Pending
Patent Citations (6)
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 |