KR102816524B1 - 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 - Google Patents
컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR102816524B1 KR102816524B1 KR1020190013309A KR20190013309A KR102816524B1 KR 102816524 B1 KR102816524 B1 KR 102816524B1 KR 1020190013309 A KR1020190013309 A KR 1020190013309A KR 20190013309 A KR20190013309 A KR 20190013309A KR 102816524 B1 KR102816524 B1 KR 102816524B1
- Authority
- KR
- South Korea
- Prior art keywords
- read count
- data storage
- data
- flash
- read
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
도 2는 도 1의 메모리의 구성을 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 데이터 저장 영역을 설명하기 위한 도면.
도 4는 본 발명의 일 실시예에 따른 데이터 저장 장치의 동작을 설명하기 위한 도면.
도 5는 본 발명의 일 실시예에 따른 데이터 저장 장치의 동작을 설명하기 위한 도면.
도 6은 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브(SSD)를 포함하는 데이터 처리 시스템을 예시적으로 나타낸 도면.
도 7은 도 6의 컨트롤러의 구성을 예시적으로 나타낸 도면.
도 8은 본 발명의 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템을 예시적으로 나타낸 도면.
도 9는 본 발명의 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템을 예시적으로 나타낸 도면.
도 10은 본 발명의 실시 예에 따른 데이터 저장 장치를 포함하는 네트워크 시스템을 예시적으로 나타낸 도면.
도 11은 본 발명의 실시 예에 따른 데이터 저장 장치에 포함된 불휘발성 메모리 장치를 예시적으로 나타낸 블록도.
200: 컨트롤러 210: 호스트 인터페이스
220: 프로세서 230: 메모리
240: 메모리 인터페이스
Claims (13)
- 복수의 데이터 저장 영역들을 포함하는 불휘발성 메모리 장치를 제어하는 컨트롤러로서,
상기 복수의 데이터 저장 영역들 각각에 대응하는 복수의 리드 카운트 데이터를 포함하는 리드 카운트 테이블;
상기 복수의 리드 카운트 데이터 각각의 저장 위치를 나타내는 복수의 리드 카운트 어드레스들을 포함하는 리드 카운트 어드레스 테이블;
상기 불휘발성 메모리 장치의 동작을 제어하되, 상기 리드 카운트 테이블 및 상기 리드 카운트 어드레스 테이블을 관리하는 플래시 변환 계층; 및
상기 플래시 변환 계층과 상기 불휘발성 메모리 장치 간의 데이터 통신을 제어하되, 상기 데이터 저장 영역들 중 특정 데이터 저장 영역에 대한 리드 동작이 수행되면 상기 플래시 변환 계층에 상기 특정 데이터 저장 영역에 대응하는 특정 리드 카운트 어드레스를 요청하고, 상기 플래시 변환 계층으로부터 상기 특정 리드 카운트 어드레스가 수신되면 상기 복수의 리드 카운트 데이터 중 상기 특정 리드 카운트 어드레스에 대응하는 특정 리드 카운트 데이터에 포함된 리드 카운트 값을 업데이트하는 플래시 인터페이스 계층
을 포함하는 컨트롤러. - 삭제
- 제 1 항에 있어서,
상기 플래시 변환 계층은,
상기 플래시 인터페이스 계층으로부터 상기 특정 리드 카운트 어드레스에 대한 요청이 수신되면,
상기 리드 카운트 어드레스 테이블을 조회하여 상기 복수의 리드 카운트 어드레스들 중 상기 특정 리드 카운트 어드레스를 상기 플래시 인터페이스 계층으로 전송하는 컨트롤러. - 제 1 항에 있어서,
상기 리드 카운트 테이블, 상기 리드 카운트 어드레스 테이블, 상기 플래시 변환 계층 및 상기 플래시 인터페이스 계층 중 적어도 하나를 저장하는 메모리;
상기 플래시 변환 계층을 실행하는 프로세서; 및
상기 플래시 인터페이스 계층을 실행하는 메모리 인터페이스
를 포함하는 컨트롤러. - 제 1 항에 있어서,
상기 복수의 데이터 저장 영역들은,
데이터 페이지, 메모리 블록, 플레인 및 다이 중 적어도 하나를 포함하는 컨트롤러. - 제 1 항에 있어서,
상기 복수의 리드 카운트 데이터 각각은,
상기 복수의 데이터 저장 영역들 중 대응하는 데이터 저장 영역의 주소와 리드 카운트 값을 포함하는 컨트롤러. - 제 1 항에 있어서,
상기 플래시 변환 계층은,
상기 복수의 데이터 저장 영역들 중 임계 횟수 이상의 리드 카운트 값이 포함된 리드 카운트 데이터에 대응하는 데이터 저장 영역에 대한 리드 리클레임 동작을 수행하도록 상기 불휘발성 메모리 장치를 제어하는 컨트롤러. - 불휘발성 메모리 장치의 동작을 제어하기 위한 플래시 변환 계층 및 플래시 인터페이스 계층을 포함하는 컨트롤러의 동작 방법으로서,
상기 플래시 인터페이스 계층이, 상기 불휘발성 메모리 장치에 포함된 복수의 데이터 저장 영역들 중 리드 동작이 수행된 특정 데이터 저장 영역에 대응하는 특정 리드 카운트 어드레스를 상기 플래시 변환 계층에 요청하는 단계;
상기 플래시 변환 계층이, 상기 플래시 인터페이스 계층의 상기 요청에 따라 상기 복수의 데이터 저장 영역들 각각에 관련된 복수의 리드 카운트 어드레스들 중 상기 특정 리드 카운트 어드레스를 상기 플래시 인터페이스 계층에 전송하는 단계; 및
상기 플래시 인터페이스 계층이, 상기 플래시 변환 계층으로부터 수신된 상기 특정 리드 카운트 어드레스에 대응하는 특정 리드 카운트 데이터에 포함된 리드 카운트 값을 업데이트 하는 단계
를 포함하는 컨트롤러의 동작 방법. - 제 8 항에 있어서,
상기 플래시 인터페이스 계층이, 상기 복수의 데이터 저장 영역들 중 상기 리드 동작이 수행된 상기 특정 데이터 저장 영역이 존재하는지 여부를 확인하는 단계를 더 포함하는 컨트롤러의 동작 방법. - 제 8 항에 있어서,
상기 특정 리드 카운트 어드레스를 상기 플래시 인터페이스 계층에 전송하는 단계는,
상기 플래시 변환 계층이, 상기 복수의 데이터 저장 영역들에 대응하는 복수의 리드 카운트 데이터 각각의 저장 위치를 나타내는 상기 복수의 리드 카운트 어드레스들을 포함하는 리드 카운트 어드레스 테이블을 조회하는 단계; 및
상기 플래시 변환 계층이, 상기 플래시 인터페이스 계층의 상기 요청에 응답하여 상기 복수의 리드 카운트 어드레스들 중 상기 특정 리드 카운트 어드레스를 상기 플래시 인터페이스 계층에 전송하는 단계
를 포함하는 컨트롤러의 동작 방법. - 제 8 항에 있어서,
상기 복수의 데이터 저장 영역들은,
데이터 페이지, 메모리 블록, 플레인 및 다이 중 적어도 하나를 포함하는 컨트롤러의 동작 방법. - 제 8 항에 있어서,
상기 복수의 리드 카운트 데이터는 각각,
상기 복수의 데이터 저장 영역들 중 대응하는 데이터 저장 영역의 주소와 리드 카운트 값을 포함하는 컨트롤러의 동작 방법. - 제 8 항에 있어서,
상기 플래시 변환 계층이, 상기 복수의 데이터 저장 영역들 중 임계 횟수 이상의 리드 카운트 값이 포함된 리드 카운트 데이터에 대응하는 데이터 저장 영역에 대한 리드 리클레임 동작을 수행하도록 상기 불휘발성 메모리 장치를 제어하는 단계를 더 포함하는 컨트롤러의 동작 방법.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/276,424 US11537514B2 (en) | 2018-02-27 | 2019-02-14 | Data storage device and operating method thereof |
| CN201910138695.2A CN110196817B (zh) | 2018-02-27 | 2019-02-25 | 数据存储装置及该数据存储装置的操作方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180023690 | 2018-02-27 | ||
| KR20180023690 | 2018-02-27 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20190102998A KR20190102998A (ko) | 2019-09-04 |
| KR102816524B1 true KR102816524B1 (ko) | 2025-06-05 |
Family
ID=67950429
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190013309A Active KR102816524B1 (ko) | 2018-02-27 | 2019-02-01 | 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102816524B1 (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11726878B2 (en) | 2020-10-14 | 2023-08-15 | SK Hynix Inc. | Memory system and operating method thereof |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017204037A (ja) | 2016-05-09 | 2017-11-16 | 富士通株式会社 | 情報処理装置、重複除去プログラム、及び重複除去方法 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
| KR102290974B1 (ko) * | 2014-11-07 | 2021-08-19 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법 |
| KR102292217B1 (ko) * | 2015-02-06 | 2021-08-24 | 삼성전자주식회사 | 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템 |
| KR102435873B1 (ko) * | 2015-12-18 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치 및 그것의 리드 리클레임 방법 |
-
2019
- 2019-02-01 KR KR1020190013309A patent/KR102816524B1/ko active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017204037A (ja) | 2016-05-09 | 2017-11-16 | 富士通株式会社 | 情報処理装置、重複除去プログラム、及び重複除去方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20190102998A (ko) | 2019-09-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102788974B1 (ko) | 데이터 저장 장치와, 그것의 동작 방법 | |
| KR102691851B1 (ko) | 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법 | |
| US10891236B2 (en) | Data storage device and operating method thereof | |
| US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
| KR102839226B1 (ko) | 컨트롤러 및 그것의 동작 방법과 메모리 시스템 | |
| KR102592803B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| KR102419036B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| KR20200095103A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
| KR102835407B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| KR20200042791A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| KR102845407B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
| KR102809599B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
| KR102707997B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
| KR20210144249A (ko) | 저장 장치 및 이의 동작 방법 | |
| KR20210156010A (ko) | 저장 장치 및 그 동작 방법 | |
| KR102695482B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| CN111752858A (zh) | 控制器、存储器系统及其操作方法 | |
| KR102713986B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
| CN111752469A (zh) | 控制器、存储器系统及其操作方法 | |
| KR102856778B1 (ko) | 서치 회로 및 컨트롤러 | |
| KR102799075B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
| KR20210156061A (ko) | 저장 장치 및 그 동작 방법 | |
| KR102816524B1 (ko) | 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 | |
| KR20210002190A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
| KR102809601B1 (ko) | 컨트롤러, 메모리 시스템 및 컨트롤러의 동작 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |