1. Trang chủ
  2. » Công Nghệ Thông Tin

Biến thể B-tree mới cho bộ nhớ Nand flash

7 11 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nghiên cứu này giới thiệu một biến thể mới của cây B-tree cho bộ nhớ flash gọi là OMB. Biến thể này giúp làm giảm số lượng các thao tác trên bộ nhớ flash đồng thời tăng hiệu suất sử dụng của bộ nhớ flash do đó tuổi thọ của bộ nhớ flash sẽ được tăng lên.

168 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Biến thể B-tree cho nhớ Nand flash Hồ Văn Phi1, Nguyễn Văn Lợi2 1,2 Khoa Công nghệ thông tin, Trường CĐ CNTT hữu nghị Việt - Hàn phihv@viethanit.edu.vn, loinv@viethanit.edu.vn Abstract Bộ nhớ flash sử dụng phổ biến ưu điểm bật loại nhớ tốc độ nhanh, gọn nhẹ, tính ổn định cao, tiêu thụ điện Tuy nhiên, bên cạnh ưu điểm bật nói nhớ flash có nhược điểm đáng ý thuộc tính “Erase-before-write” (xóa liệu trước ghi vào nhớ cụ thể), vịng đời hữu hạn (số lần xóa hạn chế -khoảng 10.000~100.000 lần) Những nhược điểm khiến cho việc triển khai mục B-tree nhớ flash giảm hiệu đáng kể số lượng lớn thao tác nhớ flash thực cập nhật liệu B-tree Nghiên cứu giới thiệu biến thể B-tree cho nhớ flash gọi OMB Biến thể giúp làm giảm số lượng thao tác nhớ flash đồng thời tăng hiệu suất sử dụng nhớ flash tuổi thọ nhớ flash tăng lên Keywords: Chỉ mục B-tree, nhớ flash, B-tree flash Giới thiệu Bộ nhớ Flash [1-2] sử dụng phổ biến nhờ vào ưu điểm bật chúng tốc độ cao, tiêu thụ điện năng, kích thước nhỏ gọn độ an toàn liệu cao Tuy nhiên, bên cạnh điểm mạnh đó, nhớ flash có điểm yếu cần lưu tâm đặc tính “xóa trước ghi” (erase-before-write - khơng thể ghi đè (overwrite)) vòng đời hữu hạn (khoảng từ 10.000 đến 100.000 lần xóa block) Bộ nhớ flash có cấu tạo chế hoạt động hoàn toàn khác với đĩa cứng (HDD) thơng thường Do để giúp hệ điều hành truy cập nhớ flash cách tương tự HDD, phần mềm trung gian có tên FTL[1] (Flash Translation Layer) sử dụng để chuyển đổi địa logic sang địa vật lý ánh xạ máy tính nhớ flash FTL có chức là: ánh xạ địa (Address mapping), thu hồi khối nhớ không hợp lệ (Gabbage collection) điều phối ghi liệu khối nhớ (Wear leveling) Chức ánh xạ địa cung cấp thuật toán ánh xạ địa logic địa vật lý nhớ flash Đã có nhiều thuật tốn ánh xạ địa giới thiệu Chúng gom thành nhóm chính: Ánh xạ sector (Sector mapping), ánh xạ khối (Block mapping) ánh xạ lai (Hybrid mapping) Gabbage collection có chức thu hồi khối nhớ khơng hợp lệ để tái sử dụng Khi số lượng khối nhớ hợp lệ nhớ flash thấp ngưỡng cho phép, gabbage collection tự động kích hoạt để thu hồi tái sử dụng khối không hợp lệ Wear leveling sử dụng để điều tiết khối nhớ để đảm bảo khối nhớ có tần suất sử dụng tương đương Wear leveling định khối nhớ sử dụng có yêu cầu ghi liệu vào nhớ flash Mặc dù hiệu suất nhớ flash tăng đáng kể cách sử dụng thuật toán FTL, nhiên, việc triển khai mục B-tree nhớ flash bị giảm đáng kể số lượng lớn thao tác (read/write/erase) nhớ flash thực cập nhật liệu Hồ Văn Phi, Nguyễn Văn Lợi 169 B-tree Để giải vấn đề này, có nhiều lược đồ mục B-tree cho nhớ flash giới thiệu Tuy nhiên, lược đồ tồn số nhược điểm giảm hiệu suất hoạt động vòng đời nhớ flash nguy liệu nguồn điện bị cắt đột ngột Nghiên cứu giới biến thể mục B-tree cho nhớ flash gọi lại OMB Biến thể có chế tách nút khác với mục B-tree nguyên mẫu gọi chế tràn Nếu nút điền đầy giá trị khóa liên tiếp tồn nút ghi vào nhớ thay tách thành nút khác B-tree nguyên thủy Ngoài ra, nút có số lượng giá trị khóa ngưỡng cho phép, nút giữ ngun mà khơng phải bị ghép với nút anh em lân cận Cơ chế tràn giúp cho biến thể giảm số lượng đáng kể thao tác nhớ flash Bên cạnh giúp cho việc sử dụng không gian nhớ khối nhớ đạt hiệu suất cao Kết thử nghiệm cho thấy giải pháp giúp cho việc triển khai mục B-tree nhớ flash có hiệu cao, tiết kiệm không gian nhớ kéo dài tuổi thọ nhớ flash OMB làm giảm số lượng thao tác xóa nhớ flash Kiến thức nghiên cứu liên quan Flash loại thiết bị nhớ thứ cấp sử dụng phổ biến Chúng có mặt thiết bị điện tử máy tính, điện thoại thơng minh, thiết bị nhúng, thẻ nhớ, USB, Khác với đĩa cứng thông thường, nhớ flash gồm dãy thẻ nhớ Nand flash Bộ nhớ flash tổ chức thành khối nhớ; khối nhớ chứa số lượng cụ thể trang nhớ (32, 64, 128 trang) Trang nhớ đơn vị nhỏ thao tác đọc ghi khối nhớ đơn vị nhỏ thao tác xóa Bộ nhớ flash hỗ trợ thao tác đọc, ghi xóa Đọc thao tác có tốc độ nhanh tiếp đến thao tác ghi Một thao tác ghi khoảng 2ms; chậm 10 lần so với thao tác đọc Và chậm thao tác xóa, chậm 10 lần so với thao tác ghi Hiện nay, nhớ flash có vịng đời khoảng 10.000 - 100.000 lần xóa khối Nếu số lần xóa khối vượt ngưỡng khối khơng cịn khả sử dụng Cây mục B-tree cấu trúc liệu sử dụng rộng rãi hệ quản trị sở liệu hệ điều hành nhờ vào tốc độ truy cập nhanh Tuy nhiên, tần suất cập nhật ghi liệu ngẫu nhiên B-tree lớn nên hiệu B-tree nhớ flash giảm đáng kể Như đề cập trên, bên cạnh điểm mạnh bật, nhớ flash có hai nhược điểm lớn đặc tính xóa trước ghi hạn chế số lần xóa khối Do đó, triển khai B-tree nguyên thủy nhớ flash dẫn đến hiệu hoạt động thấp Hình trình bày ví dụ việc triển khai mục B-tree nhớ flash sử dụng thuật toán ánh xạ địa Block mapping Hình Ví dụ B-tree nhớ flash 170 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Giả sử nút lưu trữ trang nhớ nhớ flash Nếu ghi với giá trị khóa 12 chèn vào B-tree yêu cầu cập nhật nút C ghi liệu trang nhớ nhớ flash Vì đặc tính xóa trước ghi (khơng thể ghi đè) nên q trình chèn 12 thực sau: Đầu tiên nút hợp lệ (A, B) block #n chép sang block #m; ghi nút C’ vào block #m cuối block #n bị xóa đánh dấu block khơng hợp lệ Q trình phát sinh nhiều thao tác flash dẫn đến giảm hiệu suất vòng đời flash Để giải vấn đề này, số lược đồ B-tree cho nhớ flash đề xuất Các lược đồ chia thành nhóm là: Nhóm sử dụng đệm (RAM), nhóm thay đổi cấu trúc nhóm lai Nhóm sử dụng đệm [4-7] sử dụng phần nhớ RAM hệ thống để làm đệm Mọi thay đổi B-tree đề ghi vào đệm Khi đệm đầy, liệu đệm ghi vào B-tree nhớ flash Ưu điểm nhóm tốc độ nhanh Tuy nhiên, nhược điểm lớn nguy liệu cao liệu ghi tạm đệm RAM Nếu nguồn cấp bị ngắt đột ngột, toàn liệu đệm bị Mặt khác chúng sử dụng RAM làm đệm nên khó áp dụng hệ thống nhúng nhỏ hệ thống nhúng thường có dung lượng RAM hạn chế Đối với nhóm thay đổi cấu trúc [8-14], cấu trúc B-tree nhóm thay đổi để phù hợp với chế hoạt động nhớ flash Dữ liệu nút lưu trữ hai vùng nhớ khác gọi data block buffer block Khi buffer block đầy, liệu data block trộn với liệu buffer block Ưu điểm nhóm liệu ln ln đảm bảo lưu nhớ flash Tuy nhiên, nhược điểm chúng phát sinh thêm số lượng lớn thao tác đọc, ghi, xóa nhớ flash phải thao tác liệu buffer block Do đó, hiệu suất nhóm thường khơng cao làm giảm tuổi thọ nhớ flash Thừa hưởng ưu điểm hạn chế nhược điểm hai nhóm trên, nhóm lai [15-16] sử dụng kết hợp hai giải pháp Chúng sử dụng đệm (RAM) buffer block để lưu trữ liệu tạm thời Mỗi ghi liệu ghi vào đệm chúng ghi đồng thời vào buffer block Khi đệm đầy liệu đệm ghi vào data block đồng thời đánh dấu ghi liệu thành cơng vào buffer block Ưu điểm nhóm không bị liệu Nhược điểm chúng làm tăng số lượng thao tác nhớ flash tiêu tốn tài nguyên RAM hệ thống OMB: Cơ chế tràn cho B-tree Phần giới thiệu chế hoạt động cho mục B-tree nhớ flash gọi OMB để triển khai B-tree nhớ flash đạt hiệu cao Mục tiêu làm giảm đáng kể số lượng lớn thao tác nhớ flash (read, write, erase) xây dựng B-tree cao hiệu việc sử dụng không gian trang nhớ để lưu trữ B-tree Cơ chế tràn hoạt động sau: ghi chèn vào nút B-tree, OMB kiểm tra nút có bị tràn hay khơng Nếu nút chưa đầy thì ghi chèn vào nút Ngược lại, nút đầy, OMB kiểm tra xem giá trị khóa nút chèn cách giá trị liên tiếp hay không Nếu nút chèn đầy giá trị khơng liên tiếp nút tách thành nút khác giống việc tách nút B-tree nguyên thủy Ngược lại, giá trị khóa liên tiếp nút ghi trực tiếp vào nhớ flash mà Hồ Văn Phi, Nguyễn Văn Lợi 171 không cần phải tách nút B-tree thông thường Cơ chế minh họa hình ảnh Hình Ví dụ chế tràn Trong ví dụ này, nút D có khóa 12, 13, 14 15 Đối với B-tree nguyên thủy, ghi với giá trị khóa 20 chèn vào nút D tràn bị tách thành nút khác D E hình (b) Một giá bên trái nút D (12, 13) giữ nguyên nút D lại (14, 15) với giá trị chèn vào (20) tạo nên nút (E) Đồng thời giá trị nút (14) chèn vào nút cha nút A Việc dẫn đến việc tràn tách nút cha nút gốc Nếu nút tràn nút cha nút gốc tạo chiều cao tăng lên dẫn đến số lần truy xuất đĩa tăng lên Theo chế tràn trình bày trên, biến thể thực thi thao tác chèn 20 theo cách hoàn toàn khác với B-tree nguyên thủy Cây biến thể sau chèn 20 thể hình (c) Trong trường hợp này, nút D điền đầy giá trị khóa liên tiếp (12, 13, 14, 15) nút D ghi vào nhớ flash mà không bị tách Sau đó, ghi với khóa 20 chèn vào nút rỗng E Quá trình xây dựng theo chế tràn giúp làm giảm đáng kể số lượng thao tác nhớ flash Mặt khác, hiệu suất sử dụng không gian trang nhớ tăng lên nút OMB luôn đầy (không tách nút) nút nguyên thủy luôn đầy sau tách nút Tương tự với thao tác chèn, thao tác xóa áp dụng chế tràn cho phép nút có số lượng giá trị khóa mức cho phép B-tree (

Ngày đăng: 17/12/2021, 09:02

Xem thêm:

w