As Tudor said we need to we shouldn't use write_valid in disable iff if it is synchronous value. write_valid and write_data are array then I would use following code:
property p_write_valid_no_unknown_write_data(a_write_valid,a_write_data);
@(posedge clk) disable iff (!as_rst_n)
(a_write_valid) |->!$isunknown(a_write_data);
endproperty
genvar i;
generate
for(i= 0; i<=ARRAY_SIZE_i=i+1)
begin: write_valid_write_data
ast_write_valid_write_data: assert property (p_write_valid_no_unknown_write_data(write_valid[i],write_data[i])
else
$error($psprintf("ASSERTION_ERROR:write_valid[%0d]: write_data:%0h",i, write_data[i));
end
endgenerate