Cache vs Tier: Sự khác biệt giữa bộ nhớ cache và thành phần lưu trữ là gì ?

Cùng xem xét sự khác biệt chính giữa bộ nhớ cache và hệ thống lưu trữ phân cấp theo Tier, và nơi ranh giới đã trở nên mờ nhạt với các loại lưu trữ flash tốc độ cao, 3D Xpoint và các công nghệ bộ nhớ ở phân lớp lưu trữ (storage-class memory).

Sự phát triển của lưu trữ flash và sự xâm nhập của chúng vào các công nghệ trung tâm dữ liệu chính thống đã mang đến những câu hỏi về nơi và cách thức chúng được sử dụng – và một trong những câu hỏi lớn được đặt ra là việc sử dụng phương tiện flash làm bộ nhớ đệm và xem như một tầng (tier) lưu trữ.

Trong bài viết này, chúng tôi sẽ cố gắng làm rõ sự khác biệt giữa cache và tier, nhưng cũng chỉ ra những nơi lằng ranh đó không còn rõ ràng nữa.

Bộ nhớ cache ở phần cứng tồn tại ở nhiều cấp độ trong hạ tầng CNTT. Điều đó là cần thiết vì sự không tương thích tồn tại giữa các thành phần với nhau. Theo thuật ngữ input/output (I/O), một số thành phần của hạ tầng CNTT không thể đọc hoặc ghi nhanh như những thành phần khác, vì vậy cần có một bộ nhớ đệm giữa chúng để có thể xử lý dữ liệu đi vào và đi ra nhanh hơn.

Chức năng thiết yếu của nó là cung cấp một vị trí có thể truy cập nhanh chóng cho dữ liệu cần thiết cho các hoạt động hiện đang chạy, hoặc ít nhất là những phần quan trọng nhất của nó.

Bạn có thể sẽ thấy sự đa dạng của các bộ xử lý trung tâm (CPU) đắt tiền và hiệu suất cao nhất. Sau đó – giảm bớt một chút về hiệu suất – sẽ có RAM đóng vai trò như một phần bộ nhớ có thể truy cập nhanh hơn được thêm vào phần lớn các thanh DRAM trên card.

Bên dưới RAM cũng có thể có một số bộ nhớ lớp lưu trữ (storage class memory), mặc dù đây có thể là bộ nhớ cache hoặc tạo thành một Tier, như chúng ta sẽ thấy.

Xa hơn trong sơ đồ kiến ​​trúc, cũng có thể có một số bộ nhớ cache trên các bộ lưu trữ dung lượng lớn. Cho dù SSD hay ổ đĩa quay HDD, thường có một số bộ nhớ đệm ở đây để, thậm chí, tách ra khỏi luồng I/O khi nó tiếp cận với phương tiện lưu trữ số lượng lớn (bulk media). Điều này thực sự nằm ngoài phần chính của bài viết này. Tuy nhiên, bất cứ nơi nào nó cư trú đều có một số đặc điểm chính cần lưu ý trong bộ nhớ cache.

Cache: Là một bản copy

Điều quan trọng là nó hầu như luôn luôn là một bản copy. Đó là bởi vì phần cứng hiệu suất cực cao được sử dụng thì hầu như rất dễ biến động và dữ liệu sẽ bị mất nếu nguồn điện bị ngắt.

Hầu hết, dữ liệu sẽ có thể định địa chỉ theo byte. Điều đó có nghĩa là phương tiện có thể được ghi đến và đi ở cấp độ của một ký tự đơn (single character). Đó là đặc điểm chính của bộ nhớ (memory), và giúp phân biệt nó với bộ lưu trữ (storage).

Nhưng trong khi đó là những thứ xác định bộ nhớ cache ở cấp độ kỹ thuật, về cách nó được sử dụng, thuộc tính quan trọng của nó là cung cấp vị trí tạm thời cho dữ liệu có thể cần được truy cập nhanh (hoặc không thể ghi nhanh đủ đến đích cuối cùng của nó).

Trước tiên, chúng ta hãy xem xét một số loại bộ nhớ cache cơ bản

Write-through, write-back, write-around cache

Loại bộ nhớ đệm – nơi bạn có thể đặt nó, chẳng hạn như từ hệ thống lưu trữ hoặc bên trong ứng dụng – được chia thành một số loại chính. Chúng bao gồm:

Write-through cache: ghi đồng thời vào phương tiện bộ nhớ đệm và bộ nhớ cố định bên dưới trước khi xác nhận hoạt động với máy chủ. Ở đây, dữ liệu rất an toàn vì nó được ghi vào một mảng lưu trữ được chia sẻ, nhưng nhược điểm là I/O ban đầu trải qua độ trễ dựa trên việc ghi vào bộ nhớ đó. Nó tốt cho các trường hợp sử dụng mà dữ liệu được ghi và sau đó sẽ được đọc lại thường xuyên.

Write-around cache: ngược lại, xem I / O được ghi trực tiếp vào bộ lưu trữ dài hạn và bỏ qua bộ nhớ cache. Điều này tránh được độ trễ khi ghi vào bộ nhớ cache và lưu trữ dài hạn nhưng nếu dữ liệu cần thiết ngay sau khi được “committed” thì dữ liệu đó sẽ phải được tìm nạp từ phương tiện hàng loạt và bạn có thể gặp phải tình trạng “bỏ lỡ bộ nhớ cache”.

Write-back cache: ghi I / O vào bộ nhớ đệm và ngay lập tức được xác nhận với host. Dữ liệu sau đó được chuyển sang bulk media sau đó. Điều này mang lại độ trễ thấp và thông lượng cao nhưng có khả năng dễ bị mất dữ liệu vì trong một số khoảng thời gian, dữ liệu chỉ tồn tại trong bộ nhớ cache.

Storage: Quy mô lớn, định địa chỉ theo block và được bảo vệ

Mặc dù bạn có thể tranh luận rằng bất kỳ dữ liệu nào được lưu giữ trên bất kỳ phương tiện nào trong bất kỳ khoảng thời gian nào đều tạo thành một dạng lưu trữ, nhưng đối với mục đích của chúng ta thì không phải như vậy.

Bộ nhớ đệm được phân biệt bằng cách nó là một bản sao tạm thời của một lượng tương đối nhỏ dữ liệu hiện đang được sử dụng để truy cập nhanh hoặc để ghi vào bộ đệm.

Ngược lại, bộ lưu trữ nằm sau / bên dưới bộ nhớ cache và cung cấp vị trí lưu giữ hàng loạt, lâu dài cho dữ liệu và được giải quyết theo khối chứ không phải byte.

Nó có thể có nhiều đặc điểm về hiệu suất và khả năng truy cập – từ ổ cứng HDD quay tương đối chậm đến phương tiện flash cực nhanh.

Đó là cách xác định các cấp lưu trữ. Ví dụ: nơi một công ty giữ phần lớn dữ liệu của mình trên ổ đĩa quay chậm chạp, trong khi các hoạt động hiện tại chạy từ lớp ổ cứng SSD nhanh hơn. Và phân cấp này có thể được thiết lập để chạy tự động, với dữ liệu được di chuyển vào và ra khỏi các cấp hoạt động khác nhau tùy thuộc vào cấu hình sử dụng.

Chính sự gia tăng của SSD ở cấp cao hơn của tầng hiệu suất đã thúc đẩy việc xem xét lại các định nghĩa này.

Cụ thể, việc sử dụng phương tiện flash nhanh như một lớp giữa bulk storage và RAM / CPU có tạo thành bộ nhớ cache không? Hay nó là một cấp lưu trữ? Câu trả lời là: “Nó tùy thuộc vào…”.

Hơn bao giờ hết, có thể sử dụng lớp hiệu suất cao của phương tiện lưu trữ SSD, chẳng hạn như NVMe flash hoặc 3D Xpoint, gần với nơi diễn ra quá trình xử lý.

Nhưng phần lớn điều đó sẽ tạo thành một tầng lưu trữ, cho dù được chỉ định Tier 1, Tier 0 hay bất cứ Tier nào. Đó là bởi vì nó sẽ là bộ lưu trữ xác định theo block và nó sẽ không phải là một bản copy, ngoại trừ việc nó được bảo vệ bởi RAID và được sao lưu.

Lằn ranh dường như bị mờ đi với bộ nhớ dạng storage class, có thể sử dụng phương tiện lưu trữ thể rắn nhanh Intel Optane, có thể hoạt động ở chế độ định địa chỉ theo byte (và vì thế nó là bộ nhớ cache) hoặc có thể định địa chỉ theo block (và do đó là thành phần lưu trữ dài hạn).

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *