AWS 사이트에 가면 이 두개의 방법으로 해결 할 수 있다고 나와있다.

1.높은 처리량의 인 메모리 캐시를 활용함으로써 이 문제를 완화할 수 있습니다.

2.가장 자주 사용되는 데이터의 처리량 요구 사항에 맞추어 데이터베이스 리소스를 
초과 프로비저닝해야 할 수 있습니다. 
인 메모리 캐시에 공통 키를 저장하면 가장 자주 액세스하는 데이터에 대해 예측 
가능한 빠른 성능을 제공하는 동시에 초과 프로비저닝의 필요성을 줄일 수 있습니다

 

자 여기서 프로비저닝,초과 프로비저닝은 무엇인가

 

프로비저닝은 캐시를 쌓아두는것이라고 이해하면되고

 

초과프로비저닝은 SSD에 주소 캐시에 KEY값을 저장하고 INDEXING하는것처럼 뽑아 쓰는거라고 생각하면된다

 

램이있고 CPU가 있고 SSD가 있는데 여기서 SSD는 데이터를 어떻게 저장하는지부터 알아야 하고, REM에서 NAND 플래시가 어떻게 적용되는지 알아야한다.

 

램에서 NAND플래시가 작동하는 방식은

 

초과 프로비저닝 방식임

nand flash(인메모리방식=렘에 데이터를 올려서 사용하는방식)이 작동하는 원리는


쓰고 지울때 빛을줘서 적용 하는데 이거이거 보니까 쓸때마다 마모가됌 (최대한 덜쓰는게 좋겠지?)

 

다른곳에다가 부담을 덜어줘야함 그래서 어떻게하냐 

 

넨드플래쉬는 블록안에 여러개의 페이지로 구성이 되어있는데. 위그림처럼 블록이 여러개가 박혀있음


요기 페이지에다가 쓰기작업을 하긴 하는데 지울떄는 하드웨어 한계상 블록단위로 지워야댐

 

그래서 지울때 PAGE(나머지 정보)들은 킵해놓고 있어야되는데

그래서 지워야하는 정보들만 ssd에 넣어줌 invalidate 해서 표시만함
그리고 이걸 ssd에서 지우는작업을함

SSD에서 적용되는 자세한 방식은 아래에서 설명해놓았다.

SSD는 데이터를 저장하는 방식은

아시다시피 SSD는 NAND 플래시 메모리에 의존하여 데이터를 저장합니다. 이로 인해 새 데이터를 쓸 때 SSD의 데이터를 덮어쓸 수 없습니다. 이유는 무엇입니까? 계속 읽으세요.

각 NAND 플래시 메모리는 여러 블록으로 구성되며 각 블록은 약 128페이지로 구성됩니다. SSD의 데이터는 페이지 수준에서 읽고 쓰지만 블록 수준에서 지워집니다. 새 데이터를 쓰려면 기존 데이터를 지워야 합니다. 따라서 SSD에서 데이터를 덮어쓰지 않습니다.

SSD 초과(오버) 프로비저닝

SSD에 추가 스토리지를 포함하는 SSD 오버 프로비저닝(OP)은 사용자가 액세스할 수 없으며 호스트 운영 체제에 표시되지 않습니다. 영업이익률 공식은 아래와 같습니다.

OP(%) = ((물리적 용량 – 사용자 용량) / 사용자 용량) * 100

예를 들어 64GB SSD 중 60GB를 가용 용량으로 사용할 경우 4GB를 OP에 할당하고 OP(%)는 약 7%이다.

  • 쓰레기 수거 시간 단축 : 앞서 언급했듯이 GC는 유효하지 않은 데이터 블록을 지우는 동안 데이터를 임시로 저장하기 위해 여유 블록을 만듭니다. 이 경우 OP는 컨트롤러에 데이터를 이동하는 데 필요한 추가 여유 공간을 제공하고 결과적으로 더 빠른 실행을 제공합니다.
  • 전력 소비 감소 : OP 덕분에 SSD 컨트롤러가 빠르게 작동할 수 있으므로 장치에서 작업을 완료하는 데 필요한 전력이 줄어듭니다.
  • SSD 성능 향상 : OP는 P/E 주기를 관리하고 쓰기 작업이 사전 삭제된 블록에 즉시 액세스할 수 있도록 하기 위해 플래시 컨트롤러에 추가 버퍼 공간을 제공합니다. 따라서 오버프로비저닝은 SSD 성능을 높이고 시간이 지남에 따라 SSD 성능을 유지합니다.
  • 증가하다 SSD 수명 : OP를 사용하면 SSD가 더 스마트하게 작동하므로 SSD의 마모가 최소화됩니다.

출처 https://ko.gov-civil-setubal.pt/what-is-ssd-over-provisioning

복사했습니다!